繁体   English   中英

PHP SMTP 不在 Laravel Valet 中发送电子邮件

[英]PHP SMTP not sending email in Laravel Valet

我在尝试使用 codeigniter 中的 mailtrap 配置发送电子邮件时遇到问题。 我在 Laravel Valet 中使用 Codeigniter。 最近想试试Laravel Valet作为开发环境,之前一直在用vagrant box。 如果我在 Vagrant 中使用相同的代码,则发送电子邮件没有问题,但是当我在 Valet 中使用相同的代码时,它会失败并出现以下错误。

错误 - 2017-10-15 23:36:45 --> 220 mailtrap.io ESMTP 就绪,您好:501 5.5.4 无效参数,遇到以下 SMTP 错误:501 5.5.4 无效参数,无法使用发送电子邮件PHP SMTP。 您的服务器可能未配置为使用此方法发送邮件。日期:2017 年 10 月 15 日星期日 23:36:45 +0000

我在 Codeigniter 中用于 mailtrap 的 $config 配置如下。

$config = array(
'protocol' => 'smtp',
'mailpath' => '/usr/sbin/sendmail',
'smtp_host' => 'smtp.mailtrap.io',
'smtp_port' => 2525,
'smtp_user' => 'mailtrap_user',
'smtp_pass' => 'mailtrap_pass',
'crlf' => "\r\n",
'newline' => "\r\n"

);

当我在 Vagrant 工作时,此配置没有问题。 我已经检查了几个关于 OpenSSL 问题的线程,但似乎 Valet 配置没问题。 这是使用 Valet 时的 phpinfo() 数据的一部分:

PHP 版本 7.1.10
SSL 版本 OpenSSL/1.0.2l
openssl
已启用 OpenSSL 支持
OpenSSL 库版本 OpenSSL 1.0.2l 2017 年 5 月 25 日
OpenSSL 标头版本 OpenSSL 1.0.2l 2017 年 5 月 25 日
openssl 默认配置 /usr/local/etc/openssl/openssl.cnf
卷曲
SSL 版本 OpenSSL/1.0.2l

而在 Vagrant 方面,这是 phpinfo() 数据的一部分

PHP 版本 7.0.5-2
SSL 版本 OpenSSL/1.0.1f
openssl
已启用 OpenSSL 支持
OpenSSL 库版本 OpenSSL 1.0.2g 2016 年 3 月 1 日
OpenSSL 标头版本 OpenSSL 1.0.2g 2016 年 3 月 1 日
openssl 默认配置 /usr/lib/ssl/openssl.cnf
卷曲
SSL 版本 OpenSSL/1.0.1f

我已经完成了 php.ini 文件和 phpinfo() 数据中的一些配置,但没有发现差异。 我不知道之前是否有人处理过这个问题,这可以为我指明正确的方向。 如果需要更多信息,请告诉我。 我非常感谢您的所有时间和帮助。

问题出在 mailtrap.io 本身。 如果您的配置实际上如下所示。

MAIL_MAILER=smtp
MAIL_HOST=smtp.mailtrap.io
MAIL_PORT=2525
MAIL_USERNAME=31466861b7bXXX
MAIL_PASSWORD=fe2b6503618XXX
MAIL_ENCRYPTION=null

我用两个单独的框架进行了测试来证明这个错误。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM