簡體   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