"Reply-to" field in Laravel mail is not working

Pretty sure it doesn't work this way. You can set the "From" header in the config file, but everything else is passed during the send:

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

FWIW, the $message passed to the callback is an instance of Illuminate\Mail\Message, so there are various methods you can call on it:

  • ->from($address, $name = null)
  • ->sender($address, $name = null)
  • ->returnPath($address)
  • ->to($address, $name = null)
  • ->cc($address, $name = null)
  • ->bcc($address, $name = null)
  • ->replyTo($address, $name = null)
  • ->subject($subject)
  • ->priority($level)
  • ->attach($file, array $options = array())
  • ->attachData($data, $name, array $options = array())
  • ->embed($file)
  • ->embedData($data, $name, $contentType = null)

Plus, there is a magic __call method, so you can run any method that you would normally run on the underlying SwiftMailer class.


It's possible since Laravel 5.3 to add a global reply. In your config/mail.php file add the following:

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

Tags:

Php

Email

Laravel