Русское сообщество разработки на PHP-фреймворке Laravel.
Ты не вошёл. Вход тут.
Страницы 1
Здравствуйте, товарищи!
Может кто сталкивался с проблемой:
- письма отправляются без проблем с самого site.com
- не отправляются с sub.site.com
Получаю ошибку Expected response code 250 but got code в AbstractSmtpTransport.php
Не в сети
Проблему решил.
Вдруг кому поможет в будущем.
Т.к. емэйлы отправляются с помощью swiftmailer,
то заходим в файл vendor/swiftmailer/swiftmailer/lib/classes/Swift/Transport/AbstractSmtpTransport.php
и смотрим с 462 строки private function _lookupHostname() {}
Все дело в переменной $_SERVER['SERVER_NAME']
На основном домене она выглядит как domain.com
А на поддоменах ~^(.*)domain.com$ т.к. поддмены у нас динамические и в nginx прописано server_name ~^(.*)domain.com$;
Судя по всему swiftmailer сошел с ума от регулярки и не мог отправить письмо, т.к. не понимал какой хост...
В итоге пришлось жестко прописать в $_SERVER['SERVER_NAME'] домен и все заработало
Не в сети
судя по всему, это костыль.
автоматически вычисленный обратный адрес не соответствует реально существующему и поэтому зарубается почтовой системой. надо просто явно указывать From и Reply-To, а не суперглобальные переменные портить
There are two hard things in computer science: cache invalidation, naming things, and off-by-one errors.
Не в сети
Да, действительно, не были указаны From и Reply-To, но их добавление толку не дало.
Пришлось оставить костыль с испорченной суперглобальной переменной
Не в сети
Это ужасно
There are two hard things in computer science: cache invalidation, naming things, and off-by-one errors.
Не в сети
Страницы 1