2016-03-21 12 views
0

私はLaravel 5.1を使用しており、連絡フォームの内容を含むメールをページの管理者に送付したいと考えています。私.envファイルでLaravel 5連絡フォームでメールを送信

私は次の行を追加:私は、次のしている私のコントローラで

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

を:

Mail::send('Site::email', ['contactObject' => $contactObject], function ($message) use ($contactObject) { 
     $message->from($contactObject->email, $contactObject->vorname)->subject('New contact!'); 

     $message->to('[email protected]'); 
    }); 

$ contactObject ==はで記入されたフォームが含まれていますフォームからユーザ

希望結果: [email protected]が電子メールを受信すると、メールの送信者は$ contactObject-> email

実際の結果:うまくいかない何 [email protected]が電子メールを受信したら、メールの送信者が[email protected]

ある任意のアイデア?ありがとうございます

答えて

0

config内のグローバルアドレスを設定しましたか?具体的にここに

https://github.com/laravel/laravel/blob/master/config/mail.php#L49

チャンスはあなたがそれを設定して、それはちょうどあなたがそれを上書きせなければならない空白これらの値を作り、それを使っているということです。

Gmailを使用してGmailにメールを送信しているため、そのメールを偽装することはできない可能性があり、最終的にはセキュリティ機能です。

1

お試しください:

ライブサーバーでは、どのタイプのメールサービスも設定する必要はありません。

あなたはこの使用する必要があります:

MAIL_DRIVER=mail 

をし、このコードを削除:

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

あなただけ.envファイルで使用する必要があります。変更後

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

.envファイル、サービスの再起動、またはコマンドphp artisan config:cacheおよびphp職人の設定:クリア

関連する問題