Подтвердить что ты не робот

Поле "Reply-to" в почте Laravel не работает

Мне нужна помощь, чтобы выяснить, как установить поле reply-to в app/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,
);
4b9b3361

Ответ 1

Довольно точно, что это не работает. Вы можете установить заголовок "From" в файле конфигурации, но все остальное передается во время отправки:

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

FWIW, $message, переданный обратному вызову, является экземпляром Illuminate\Mail\Message, поэтому существуют различные методы, которые вы можете вызвать на него:

  • → from ($ address, $name = null)
  • → отправитель ($ address, $name = null)
  • → RETURNPATH ($ адрес)
  • → to ($ address, $name = null)
  • → cc ($ address, $name = null)
  • → bcc ($ address, $name = null)
  • → replyTo ($ address, $name = null)
  • → предмет ($ предмет)
  • → приоритет ($ уровень)
  • → attach ($ file, array $options = array())
  • → attachData ($ data, $name, array $options = array())
  • → встраивать ($ файл)
  • → embedData ($ data, $name, $contentType = null)

Кроме того, существует волшебный метод __call, поэтому вы можете запускать любой метод, который вы обычно запускаете в базовом классе SwiftMailer.

Ответ 2

Возможно, так как Laravel 5.3 добавляет глобальный ответ. В файле config/mail.php добавьте следующее:

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