CodeIgniter上的SMTP显示成功,但电子邮件未传递到Gmail帐户

Was*_*lil 14 email gmail smtp codeigniter

我正在尝试在CodeIgniter上设置SMTP.一切正常,我在页面上收到成功消息,发送的电子邮件没有错误.但是,电子邮件未送达.

这是我使用的代码:

$config = Array(
'protocol' => 'smtp',
'smtp_host' => 'ssl://smtp.googlemail.com',
'smtp_port' => 465,
'smtp_user' => 'my-email@gmail.com', 
'smtp_pass' => '***', 
'mailtype' => 'html',
'charset' => 'iso-8859-1',
'wordwrap' => TRUE
);
$this->load->library('email', $config);

$this->email->from('my-email@gmail.com', 'Explendid Videos');
$this->email->to('my-email@gmail.com');
$this->email->reply_to('my-email@gmail.com', 'Explendid Videos');


$this->email->subject('Explendid Video - Contact form');

$message = "Contact form\n\n";
$message .= "Name: ". $_POST['name'] . "\n";
$message .= "Phone: ". $_POST['phone'] . "\n";
$message .= "Email: ". $_POST['email'] . "\n";

$this->email->message($message);

$this->email->send();
Run Code Online (Sandbox Code Playgroud)

可能是什么原因,电子邮件实际上没有交付.

Rob*_*tto 30

将其更改为以下内容:

$ci = get_instance();
$ci->load->library('email');
$config['protocol'] = "smtp";
$config['smtp_host'] = "ssl://smtp.gmail.com";
$config['smtp_port'] = "465";
$config['smtp_user'] = "blablabla@gmail.com"; 
$config['smtp_pass'] = "yourpassword";
$config['charset'] = "utf-8";
$config['mailtype'] = "html";
$config['newline'] = "\r\n";

$ci->email->initialize($config);

$ci->email->from('blablabla@gmail.com', 'Blabla');
$list = array('xxx@gmail.com');
$ci->email->to($list);
$this->email->reply_to('my-email@gmail.com', 'Explendid Videos');
$ci->email->subject('This is an email test');
$ci->email->message('It is working. Great!');
$ci->email->send();
Run Code Online (Sandbox Code Playgroud)

  • 谢谢!它的工作原理是将"ssl://smtp.googlemail.com"更改为"ssl://smtp.gmail.com" (3认同)
  • 这给了我``fsockopen():php_network_getaddresses:getaddrinfo failed:名称或服务未知`.从地址开头删除`ssl://`. (2认同)

小智 5

代替

$config['protocol'] = 'smtp';
Run Code Online (Sandbox Code Playgroud)

$config['protocol'] = 'sendmail';
Run Code Online (Sandbox Code Playgroud)