【问题标题】:sending email via gmail smtp server with codeigniter使用 codeigniter 通过 gmail smtp 服务器发送电子邮件
【发布时间】:2014-10-15 08:12:49
【问题描述】:

我一直在尝试使用 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();

非常感谢您的所有帮助

【问题讨论】:

  • 检查以确保您的环境变量匹配,例如:如果在生产中,请确保您使用的是生产 email.php

标签: php codeigniter email


【解决方案1】:

我发现了以下内容:

要在 CodeIgniter 中使用 Google SMTP,您需要对您的 Gmail 帐户设置进行 2(两)次更改:(请注意,现在攻击者更容易侵入您的帐户 - Google 说)

  1. 启动两步验证
  2. 允许安全性较低的应用:开启(或启用)

现在使用'smtp_host' 作为ssl://smtp.gmail.com 而不是smtp.googlemail.com

希望这对即将到来的访客有所帮助。

【讨论】:

  • 尝试改变你的答案,而不是从你的 2 个答案中剪切和粘贴相同的答案,而不考虑 OP 细节
  • 我是新来的。试图贡献我的经验。我会记住你的建议。
【解决方案2】:

在 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"

?>

【讨论】:

    猜你喜欢
    • 2022-01-09
    • 2020-11-12
    • 2016-09-07
    • 2012-10-20
    • 2013-03-13
    • 2017-05-12
    • 1970-01-01
    相关资源
    最近更新 更多