Почтовая программа yii2, как не использовать автоматически имя пользователя smtp gmail в качестве заголовка «От»

Я создал веб-сайт с контактной формой. Я использую почтовую программу yii2 и настройку smtp gmail для отправки электронной почты. Это моя настройка smtp:

'host' => 'smtp.gmail.com',
'username' => '[email protected]',
'password' => 'mysecretpassword',
'port' => '587',
'encryption' => 'tls',
'streamOptions' => [ 
    'ssl' => [ 
        'allow_self_signed' => true,
        'verify_peer' => false,
        'verify_peer_name' => false,
    ],
],

И вот как я отправляю электронное письмо в своем контроллере:

Yii::$app->mailer->compose()
    ->setFrom(["[email protected]" => "My Name"])
    ->setTo(['[email protected]' => 'Henry'])
    ->setSubject("The Subject")
    ->setHtmlBody("<html><body><h1>Hello</h1></body></html>")
    ->send();

Оно успешно отправлено, но я проверяю заголовок электронной почты и нахожу это:

From: My Name <[email protected]>

Я хочу вот что:

From: My Name <[email protected]>

Если я нажму «Ответить», он ответит на [email protected], который является именем пользователя моей настройки smtp gmail вместо мой адрес электронной почты@gmail.com.

Как я могу использовать [email protected] в заголовке From?

Стоит ли изучать PHP в 2026-2027 годах?
Стоит ли изучать PHP в 2026-2027 годах?
Привет всем, сегодня я хочу высказать свои соображения по поводу вопроса, который я уже много раз получал в своем сообществе: "Стоит ли изучать PHP в...
Symfony Station Communiqué - 7 июля 2023 г
Symfony Station Communiqué - 7 июля 2023 г
Это коммюнике первоначально появилось на Symfony Station .
Оживление вашего приложения Laravel: Понимание режима обслуживания
Оживление вашего приложения Laravel: Понимание режима обслуживания
Здравствуйте, разработчики! В сегодняшней статье мы рассмотрим важный аспект управления приложениями, который часто упускается из виду в суете...
Установка и настройка Nginx и PHP на Ubuntu-сервере
Установка и настройка Nginx и PHP на Ubuntu-сервере
В этот раз я сделаю руководство по установке и настройке nginx и php на Ubuntu OS.
Коллекции в Laravel более простым способом
Коллекции в Laravel более простым способом
Привет, читатели, сегодня мы узнаем о коллекциях. В Laravel коллекции - это способ манипулировать массивами и играть с массивами данных. Благодаря...
Как установить PHP на Mac
Как установить PHP на Mac
PHP - это популярный язык программирования, который используется для разработки веб-приложений. Если вы используете Mac и хотите разрабатывать...
0
0
23
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

Согласно этот вопрос вы должны установить setFrom как индексированный массив и добавить setReplyTo вызов:

Yii::$app->mailer->compose()
    ->setFrom(["[email protected]", "My Name"])
    ->setReplyTo('[email protected]')
    ->setTo(['[email protected]' => 'Henry'])
    ->setSubject("The Subject")
    ->setHtmlBody("<html><body><h1>Hello</h1></body></html>")
    ->send();

Также возможно, что сама Gmail позволяет отправлять from только на проверенные адреса электронной почты, а не на случайные. Проверьте здесь

Я получил ошибку: вызов неизвестного метода: yii\swiftmailer\Message::replyTo()

Henry Gunawan 09.05.2022 09:52

@HenryGunawan Извините, это setReplyTo. Пожалуйста, используйте соответствующую документацию по IDE и, прежде чем публиковать сообщения об ошибках.

Justinas 09.05.2022 09:54

Другие вопросы по теме