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

问题描述 投票:1回答:1

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

错误-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中用于邮件陷阱的$ 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问题的线程,但代客配置似乎还可以。使用代客时,这是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()数据中的某些配置,但无法发现差异。我不知道在此之前是否有人处理过这个问题,可以为我指明正确的方向。如果需要更多信息,请告诉我。我非常感谢您的所有时间和帮助。

php codeigniter smtp php-openssl laravel-valet
1个回答
0
投票

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

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

我使用两个单独的框架进行了测试,以证明此错误。

© www.soinside.com 2019 - 2024. All rights reserved.