Эта же проблема уже имеет некоторые аналогичные записи в stackoverflow, но ни у одного из них никогда не было ответов/решений, кроме некоторых более простых кодировок намеки.swiftmailer, ovh, INTERMITTEND Ожидаемый код ответа 250, но получил код "", с сообщением ""
Я использую Symfony2 framework + swiftmailer на общем сервере OVH, и при отправке почты через пользовательский интерфейс (на веб-странице) я периодически получаю сообщение об ошибке http: Ожидаемый код ответа 250, но получил код «», с сообщение "".
С некоторой ошибкой для этой ошибки я понимаю, что сервер получает заказ на чтение почты, которая пуста, так что она не знает, что делать с пустой почтой (нет, нет, нет, ... NULL в некотором смысле).
Я не отправляю массовую почту, только один за другим. Прерывистый характер этого делает отладочную работу неудобной, так как в любое время, когда вы делаете небольшую настройку, и, похоже, она работает, вы не можете быть уверены в том, что последняя настройка исправлена или если «она» просто решила «просыпаться» снова. До сих пор все мои маленькие трюки для счетчиков закончились тем, что пустой smtp-возврат с сервера снова появился через несколько часов/несколько дней. Из-за этого я все еще скрываю сайт за htaccess, так что трафик чрезвычайно мал (это в основном только я). Прерывание составляет от 5 до 10% всех писем. Если эта пустая ошибка появляется, то для 95% любой настройки в коде ошибка остается. Существует только одна «настройка», которая до сих пор заставляла ошибку «надежно»: перезагружать параметр.yml, но поскольку есть 5% случаев, когда я настраивал что-то еще, и ошибка также уходила, я не могу быть уверен если я должен сосредоточиться на параметрах. Но опять же, ошибка вернется через часы/дни в любом случае. Все больше похоже на проблему с кешем сервера/CDM.
Вот информация о коде, который будет известен (поскольку он работает «много раз», код как таковой, вероятно, чистый .., но никто никогда не знает).
parameters.yml:
mailer_transport: smtp
mailer_host: ssl0.ovh.net
mailer_port: 465
# OR alternatively (gives the same result) :
# mailer_host: ns0.ovh.net
# mailer_port: 587
mailer_user: *********
mailer_password: **********
config.yml:
transport: "%mailer_transport%"
host: "%mailer_host%"
username: "%mailer_user%"
password: "%mailer_password%"
port: "%mailer_port%"
# and also :
fos_user :
from_email:
address: ********* (same as mailer_user)
sender_name: ***********
controllerXYZ:
$mailer=$this->get('mailer');
$params=$form->getData();
$subject=$params['subject'];
$body=$params['body'];
$userManager=$this->get('fos_user.user_manager');
$toUser=$userManager->findUserBy(array('username'=>$comment->getAuthor()));
$to=$toUser->getEmail();
$from=$this->getUser()->getEmail();
$message= \Swift_Message::newinstance()
->setSubject($subject)
->setBody($body)
->setFrom($from)
->setTo($to);
$mailer->send($message);
I "приспособленный" со сном (х), с \ поставщиком \ SM \ SM \ lib \ classes \ Swift \ Transport, файл = тайм-аут EsmtpTransport.php, некоторые попытки/уловы, идентификаторы портов/серверов, катушка, но всегда получили ошибку после какое-то время. Разумеется, все настройки настроены на «стандарт».
Я мог бы попробовать другую почтовую программу (phpmail), но так как кажется OVH/CDM/server related, я беспокоюсь, чтобы снова получить то же самое.
В качестве альтернативы я мог бы также попытаться сделать ошибку «по назначению», чтобы получить подсказку; но я даже не мог этого сделать.
ДАЙТЕ МНЕ, ПОЖАЛУЙСТА, НАПРАВЛЕНИЕ, ЧТОБЫ ПРОТИВАТЬ!