config/mail.php
from
プロパティを次のように設定します。
'from' => ['address' => '[email protected]', 'name' => 'Firstname Lastname']
ここで、アドレスはメールから表示したいものであり、名前は名前から表示したいものでなければなりません。
追伸これは、送信する各メールのデフォルトのメール設定になります。
使用できます
Mail::send('emails.welcome', $data, function($message)
{
$message->from('[email protected]', 'Laravel');
$message->to('[email protected]')->cc('[email protected]');
});
より良い方法は、.env
ファイルに変数名と値を追加することです。
例:
MAIL_DRIVER=smtp
MAIL_Host=smtp.gmail.com
MAIL_PORT=587
[email protected]
MAIL_PASSWORD=password
MAIL_ENCRYPTION=tls
MAIL_FROM_NAME="My Name"
[email protected]
最後の2行に注意してください。それらは、from nameおよびfrom emailフィールドと相関しますそれが送信されます。
Laravel 5.8を使用していて、この質問を見つけた人は、これを試してみてください。
メール自体のビルド機能内(ビューではなく、メール):
public function build()
{
return $this
->from($address = '[email protected]', $name = 'Sender name')
->subject('Here is my subject')
->view('emails.welcome');
}
ハッピーコーディング:)
コードの断片にエラーがあると思います。あなたが持っているfrom(config('app.senders.info'), 'My Full Name')
so config( 'app.senders.info')は配列を返します。
メソッドには2つの引数が必要です。1つ目は文字列にアドレスが含まれ、2つ目は送信者名の文字列です。これを変更する必要がありますfrom(config('app.senders.info.address'), config('app.senders.info.name'))
Google SMTPの場合、送信元アドレスは、メールクラスでこれを指定しても変更されません。これはGoogleメールのポリシーによるものであり、Laravelの問題ではありません。ここで共有します。