web-dev-qa-db-ja.com

Laravelメールの「返信先」フィールドが機能していない

reply-toapp/config/mail.phpフィールドを設定する方法を理解するために助けが必要です。 Laravel 4を使用していますが、機能していません。これがapp/config/mail.phpです:

<?php

return array(
    'driver' => 'smtp',
    'Host' => 'smtp.gmail.com',
    'port' => 587,
    'from' => [
        'address' => '[email protected]',
        'name' => 'E-mail 1'
    ],
    'reply-to' => [
        'address' => '[email protected]',
        'name' => 'E-mail 2'
    ],
    'encryption' => 'tls',
    'username' => '[email protected]',
    'password' => 'pwd',
    'pretend' => false,
);
26
cawecoy

この方法で動作しないことを確認してください。構成ファイルで「From」ヘッダーを設定できますが、他のすべては送信中に渡されます。

Mail::send('emails.welcome', $data, function($message)
{
    $message->to('[email protected]', 'John Smith')
        ->replyTo('[email protected]', 'Reply Guy')
        ->subject('Welcome!');
});

FWIW、コールバックに渡される$messageIlluminate\Mail\Messageのインスタンスなので、呼び出すことができるさまざまなメソッドがあります。

  • -> from($ address、$ name = null)
  • -> sender($ address、$ name = null)
  • -> returnPath($アドレス)
  • -> to($ address、$ name = null)
  • -> cc($ address、$ name = null)
  • -> bcc($アドレス、$名前= null)
  • -> replyTo($ address、$ name = null)
  • ->件名($件名)
  • -> priority($ level)
  • -> attach($ file、array $ options = array())
  • -> attachData($ data、$ name、array $ options = array())
  • -> embed($ file)
  • -> embedData($ data、$ name、$ contentType = null)

さらに、魔法の__callメソッドがあるので、基本的なSwiftMailerクラスで通常実行する任意のメソッドを実行できます。

64
Colin

Laravel 5.3以降、グローバル応答を追加することが可能です。config/ mail.phpファイルに以下を追加してください:

'reply_to' => [
    'address' => '[email protected]',
    'name' => 'Reply to name',
],
14
chifliiiii