場景
使用 163郵箱 實現 Laravel
中新使用者註冊時,郵箱驗證訊息的傳送。
163郵箱 smtp
傳送郵件預設埠資訊
我這裡是在本地環境,所以埠採用 非SSL協議埠號 25
報錯資訊
Expected response code 250 but got code "553", with message "553 Mail from must equal authorized user "
錯誤原因以及修復
報錯原因:
有些郵件伺服器要求 from
和 username
也就是 MAIL_FROM_ADDRESS
和 MAIL_USERNAME
必須一致,163郵箱
就是這樣。
修復
預設的 Laravel
中 .env
檔案關於郵箱傳送的預設配置有
MAIL_DRIVER=smtp
MAIL_HOST=smtp.163.com
MAIL_PORT=25
MAIL_USERNAME=your_username
MAIL_PASSWORD=your_authorization_code
MAIL_ENCRYPTION=ssl
然而在 config/mail.php
中關於郵箱的配置還有下面兩項
'from' => [
'address' => env('MAIL_FROM_ADDRESS', 'hello@example.com'),
'name' => env('MAIL_FROM_NAME', 'Example'),
],
這裡的 MAIL_FROM_ADDRESS
,MAIL_FROM_NAME
在 .env
中並沒有定義。
MAIL_FROM_ADDRESS
指的是郵箱地址;MAIL_FROM_NAME
指的是郵件中顯示的發件人名字,可自由定義,如Pannio
。
最後應該是這個?
MAIL_DRIVER=smtp
MAIL_HOST=smtp.163.com
MAIL_PORT=25
MAIL_USERNAME=your_username
MAIL_PASSWORD=your_authorization_code
MAIL_ENCRYPTION=ssl
MAIL_FROM_ADDRESS=your_username
MAIL_FROM_NAME=Pannio
本作品採用《CC 協議》,轉載必須註明作者和本文連結