@Isherath

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

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

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

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


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

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

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

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

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

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

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

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

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

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

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

Войти через центр авторизации
Похожие вопросы