Я хочу отправлять письма из разных аккаунтов в моем приложении Laravel.
Поэтому я создал новый swiftmailer транспорт
// Create the Transport
$transport = (new Swift_SmtpTransport('smtp.example.org', 25))
->setUsername('your username')
->setPassword('your password')
;
// Create the Mailer using your created Transport
$swift_mailer = new Swift_Mailer($transport);
Когда я отправляю сообщение прямо из Swift_Mailer
объекта
// Create a message
$message = (new Swift_Message('Wonderful Subject'))
->setFrom(['john@doe.com' => 'John Doe'])
->setTo(['receiver@domain.org', 'other@domain.org' => 'A name'])
->setBody('Here is the message itself')
;
// Send the message
$result = $swift_mailer->send($message);
Я получаю письмо, которое фактически отправляется с моего почтового сервера:
Однако, когда я отправляю письмо от Laravel Mailer (как объяснено здесь ), используя тот же Swift_Mailer
объект сверху:
$view = app()->get('view');
$events = app()->get('events');
$mailer = new \Illuminate\Mail\Mailer($view, $swift_mailer, $events);
$mailer->alwaysFrom('john@doe.com', 'John Doe');
$mailer->alwaysReplyTo'john@doe.com', 'John Doe');
$mailer->to('my_email@test.com')->send(new \App\Mail\Test);
затем в Gmail появляется сообщение, что письмо не было отправлено с моего почтового сервера:
Когда я нажимаю на детали, это говорит мне, что
Домен отправителя отличается от домена в адресе «От:».
Я на самом деле владею обоими доменами. В моем файле .env
адрес FROM ****.com
, и я хотел создать новое письмо с адреса ****.net
.
Почему Gmail считает, что я отправил письмо через мой ****.com
адрес, если использую класс Laravel Mailer
?
Примечание: это не дубликат нескольких почтовых конфигураций - это то, где я начал искать, но 5-летний ответ не совсем работал, и я дал это ответ , но я застрял с вышеописанной проблемой.