Я знаю, что у этого вопроса есть куча ответов вроде this на SO уже, но ни одно из решений, похоже, не работает для меня.Symfony SwiftMailer - ожидаемый код ответа 220, но получил код «», с сообщением «»
Я пытаюсь отправить электронное письмо из своего домена Google Apps. Письма отправляются большую часть времени, но иногда это исключение попадает и письмо не отправляется.
Uncaught PHP Exception Swift_TransportException: "Expected response code 220 but got code "", with message """ at C:\HostingSpaces\abc\domain.com\wwwroot\vendor\swiftmailer\swiftmailer\lib\classes\Swift\Transport\AbstractSmtpTransport.php line 383 {"exception":"[object] (Swift_TransportException(code: 0): Expected response code 220 but got code \"\", with message \"\" at C:\\HostingSpaces\\abc\\domain.com\\wwwroot\\vendor\\swiftmailer\\swiftmailer\\lib\\classes\\Swift\\Transport\\AbstractSmtpTransport.php:383)"} []
Да, я использую SSL, да, я дал доступ к менее защищенным приложениям и да я использую порт 465. Я включил буферизацию, так что приложение не ломается, потому что исключение не попасться ,
Мой config.yml ниже
swiftmailer:
transport: smtp
host: smtp.gmail.com
username: [email protected]
password: password
port: 465
encryption: ssl
spool: { type: memory }
И мой электронный класс ниже
public function send_new_order_email($entity) {
try{
$message = $this->getEmailObj("[email protected]");
$message->setBody(
$this->renderView(
'APIBundle:Emails:ops_neworder.html.twig',
array('entity' => $entity)
),
'text/html'
)->setSubject('New Order : '.$entity->getId());
$this->container->get('mailer')->send($message);
}
catch(Exception $e){}
}
private function getEmailObj($email){
$message = \Swift_Message::newInstance()
->setFrom('[email protected]')
->setTo($email);
return $message;
}
Есть ли у вас какие-либо предложения, чтобы сделать эту работу?