Задать вопрос
@Isherath

Как динамически менять почту отправителя?

На сайте один пользователь публикует контент, другой пользователь через сайт ему может отправить сообщение и далее общаться только на почте. То есть, сайт как связующее между двумя юзерами.

Но! Проблема в том, что отправка через свифтмейлет yii2 не работает, если я делаю так

...
->setFrom('useremail@gmail.com');
...


То есть, если я подставляю вместо почты сайта почту юзера, который хочет отправить сообщение через мой сайт.

А если я ставлю туда почту сайта, которая фигурирует в конфиге свифтмейлера, то почта без проблем отправляется, но при таком раскладе пользователь не сможет напрямую дальше общаться с другим пользователем на своих почтах. И смысл отправки почты никакой.

Короче говоря, я не могу ничего другого указать в setFrom кроме той почты, которая указана в конфигурации.

Подскажите, как такое реализовать?
  • Вопрос задан
  • 52 просмотра
Подписаться 1 Средний Комментировать
Решения вопроса 1
webinar
@webinar
Учим yii: https://youtu.be/-WRMlGHLgRg
отправителем должен быть Ваш служебный email, а в теле письма вставляете кнопку-ссылку с mailto которая будет формировать письмо нужному пользователю.
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 1
amark
@amark
rush less, feel more
О вашем решении лет 5 назад мечтали спамеры.

Выходит, ваш скрипт может отправить сообщение от имени любого пользователя? Без ведома самого пользователя?

— Но ведь это пользователь ввел свою почту!
— скажете вы.

А кто сказал, что второе письмо тоже он отправил? Где гарантии?
Как принимающий почтовый сервер должен убедиться, что это именно пользователь нажал на вашем сайте кнопку "отправить", а не скрипт-злоумышленник делает злобную рассылку?

Если говорить технически-грамотно, то ваш скрипт должен авторизоваться на smtp-сервере вашего клиента с его логином/паролем и отправить почту через "родной" smtp. Либо в записях домена почты клиента должно быть прописанно, что ваш сервер-отправитель является доверенным источником.

В иных случаях вы — злостный злодей, который выдает себя за другого.

p.s. Попробуйте менять заголовок "ReplyTo". Может быть это пройдет безболезненно.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы