我一直在尝试使用codeigniter框架上的gmail smtp服务器发送电子邮件。
它在localhost上进行了完美的测试。当我在服务器上测试它时出现了这个错误
"遇到PHP错误
严重性:警告
消息:fsockopen()[function.fsockopen]:无法连接到ssl://smtp.gmail.com:465(连接超时)
文件名:libraries / Email.php
行号:1689"
我的代码是
$ci = get_instance();
$ci->load->library('email');
$config['protocol'] = "smtp";
$config['smtp_host'] = "ssl://smtp.gmail.com";
$config['smtp_port'] = "465";
$config['smtp_user'] = "ticket@gmail.com";
$config['smtp_pass'] = "test123";
$config['charset'] = "utf-8";
$config['mailtype'] = "html";
$config['newline'] = "\r\n";
$ci->email->initialize($config);
$ci->email->from('sender@gmail.com', 'Myanmar Bus Ticket');
$list = array('receiver@gmail.com');
$ci->email->to($list);
$ci->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();
非常感谢您的所有帮助
答案 0 :(得分:1)
我找到了以下内容:
要在CodeIgniter中使用Google SMTP,您需要对Gmail帐户设置进行两(2)次更改:(请注意,攻击者现在更容易侵入您的帐户 - Google) / em>的
- 启用两步验证。
- 允许安全性较低的应用:开启(或启用)
醇>
现在使用'smtp_host'
作为ssl://smtp.gmail.com
而不是smtp.googlemail.com
希望这将有助于即将到来的访客。
答案 1 :(得分:0)
使用以下命令在application / config / email.php中创建一个文件:
<?php
$config['protocol'] = 'smtp';
$config['smtp_host'] = 'ssl://smtp.gmail.com'; //examples: ssl://smtp.googlemail.com, myhost.com
$config['smtp_user'] = 'user@gmail.com';
$config['smtp_pass'] = 'password';
$config['smtp_port'] = '465';
$config['charset']='utf-8'; // Default should be utf-8 (this should be a text field)
$config['newline']="\r\n"; //"\r\n" or "\n" or "\r". DEFAULT should be "\r\n"
$config['crlf'] = "\r\n"; //"\r\n" or "\n" or "\r" DEFAULT should be "\r\n"
?>