【问题标题】:Sending Emails using SMTP Gmail Codeigniter work local but gives error on the host使用 SMTP Gmail Codeigniter 发送电子邮件在本地工作,但在主机上出现错误
【发布时间】:2018-01-09 17:34:06
【问题描述】:

我在 Codeigniter 中使用电子邮件类发送电子邮件 throw Gmail smtp 这是我的设置:

$this->load->library('email');
$config['protocol'] = 'smtp';
$config['wordwrap'] = TRUE;
$config['smtp_host'] = 'smtp.gmail.com';
$config['smtp_user'] = 'email@gmail.com';   // I write my correct email here
$config['smtp_pass'] = 'xxxxxxxxx';         // I write my correct password here
$config['smtp_port'] = 587;
$config['smtp_crypto'] = "tls";
$config['charset'] = "utf-8";
$config['mailtype'] = "html";
$config['newline'] = "\r\n";

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

$this->email->from('email@gmail.com', 'My Name');
$this->email->to('another_mail@server.com'); // I write onther email here
$this->email->subject('test gmail smtp');
$this->email->message('success :)');
if (!$this->email->send()) {
    echo $this->email->print_debugger();
}

我已经在我的本地机器上试过了,代码运行良好,所有的电子邮件都已收到。 在我将脚本上传到我的 GoDaddy 主机后,它给了我这个警告:-

fsockopen(): 无法连接到 smtp.gmail.com:587 (连接超时)

并发送电子邮件至print_debugger(); 打印此错误:-

遇到以下 SMTP 错误:110 连接超时 无法使用 PHP SMTP 发送电子邮件。您的服务器可能不是 配置为使用此方法发送邮件。

我已经在另一台主机(Bluehost)上尝试过这段代码,它给了我同样的警告和错误。

有人知道我哪里出错了吗?

【问题讨论】:

  • 你在gmail上启用allowing less secure app了吗?原因是谷歌需要验证你是否真的允许这种类型的操作,所以我相信配置它会解决你的问题。 - support.google.com/accounts/answer/6010255?hl=en
  • @KaoriYui 这不会导致连接超时错误,而是导致身份验证错误。
  • 是的,我有。它正在我的本地主机上运行
  • 您应该咨询 GoDaddy。他们以阻止不通过其 SMTP 中继的传出 SMTP 连接而闻名,
  • 我已将它上传到 bluehost 网站,但它给了我同样的错误

标签: php smtp gmail codeigniter-3 shared-hosting


【解决方案1】:

端口 587 被 go daddy 阻止用于传出 smtp 连接,请根据指定的要求使用以下端口之一。

非 SSL - 80、3535、25

SSL - 465

https://www.godaddy.com/help/what-do-i-do-if-i-have-trouble-connecting-to-my-email-account-319

【讨论】:

  • 感谢您的回复,但它已将错误编号更改为 111 这里是错误 遇到以下 SMTP 错误:111 Connection denied 无法使用 PHP SMTP 发送电子邮件。您的服务器可能未配置为使用此方法发送邮件。
  • 你试过 25 端口了吗?
【解决方案2】:

检查生产服务器上的 php.ini 文件。 如果你在 php.ini 中有;extension=php_openssl.dll,请将其更改为extension=php_openssl.dll(删除 coma,并重新启动 apache 或 nginx)。

【讨论】:

  • 我在共享主机上,所以我无法查看 php.ini 文件并对其进行更改:(
  • 您可以联系您的提供商,并要求他们进行更改。
猜你喜欢
  • 2017-02-20
  • 2014-08-09
  • 1970-01-01
  • 2012-05-25
  • 1970-01-01
  • 2014-12-24
  • 2018-05-20
  • 2015-05-29
  • 1970-01-01
相关资源
最近更新 更多