2015-12-04 73 views
1

我試圖使用L5.1和Gmail帳戶發送我的第一封電子郵件。我有兩步驗證,並在我的.env文件中使用特定的應用程序密碼。當我嘗試用發送電子郵件:Mail :: send()返回零並且沒有錯誤,仍然沒有發送郵件

$result =Mail::send('emails.contact', $request->all(), function($msg) 
    { 
     $msg->subject = 'Mail from Contact Page'; 
     $msg->to  = '[email protected]'; 
    }); dd($result); 

然後$結果始終爲零,沒有郵件發送(我查了垃圾郵件文件夾1000倍)。我也嘗試使用提供憑據的mailtrap.io,結果在瀏覽器中也是一樣的,也使用了Tinker。 這是我的.ENV文件:

APP_ENV=local 
APP_DEBUG=true 
APP_KEY=SomeRandomString 
DB_HOST=127.0.0.1 
DB_DATABASE=pandora 
DB_USERNAME=myDatabaseUser 
DB_PASSWORD=myDatabasePassword 

CACHE_DRIVER=file 
SESSION_DRIVER=file 
QUEUE_DRIVER=sync 

MAIL_DRIVER=smtp 
MAIL_HOST=smtp.gmail.com 
MAIL_PORT=465 
[email protected] 
MAIL_PASSWORD=AppSpecificPassword 
MAIL_ENCRYPTION=ssl 

我還授權在Gmail設置中的應用。 有什麼想法?

+0

請發佈您的'.env'文件。你確定你已經正確配置你的Gmail設置(SMTP主機,端口等)嗎? – Bogdan

+0

添加.env文件 –

+0

郵件配置值看起來不錯。什麼'dump(Mail :: failures());'如果你在'Mail :: send()'之後運行它的輸出? – Bogdan

回答

0

我發現this post

所以答案,我改變MI代碼:

$result = Mail::send('emails.contact',$request->all(), function($message) use ($request) { 
     $message->from($request->email); 
     $message->to('[email protected]') 
      ->subject($request->subject) 
      ->replyTo($request->email); 
    }); 

出於某種原因總是在我的L5.1設置中配置的,但我可以忍受這一點。 感謝@bogdan爲您的時間和幫助

0

這是我.ENV文件

MAIL_DRIVER=smtp 
MAIL_HOST=smtp.gmail.com 
MAIL_PORT=587 
[email protected] 
MAIL_PASSWORD=emailpassword 
MAIL_ENCRYPTION=tls 

Follow this

+0

我將MAIL_ENCRYPTION更改爲tls(這是唯一的區別,我可以看到),並得到此消息:Swift_TransportException AbstractSmtpTransport.php第383行: 預期響應代碼220,但獲得代碼「」,並帶有消息「」 –

相關問題