1

尝试使用 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。您的服务器可能未配置为使用此方法发送邮件。日期:Sun, 15 Oct 2017 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
curl
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
curl
SSL 版本 OpenSSL/1.0.1f

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

4

1 回答 1

0

问题在于 mailtrap.io 它本身。如果你的配置实际上是这样的。

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

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

于 2020-06-12T20:59:33.087 回答