我刚刚开始使用Swiftmailer和Symfony 3并且它正在发送电子邮件,但是当我故意插入配置错误时,比如更改服务器的名称而导致错误,我不会得到来自"发送"的任何错误方法。代码如下:
$message = new \Swift_Message('Teste SICOS');
$message->setFrom(['nao-responda@sicos.xxx.gov.br' => 'SICOS'])
->setTo('joaoxxx@gmail.com')
->setBody("teste");
$res = $this->get("mailer")->send($message, $failures);
if (!$res){
$msg = "houve um erro no envio do e-mail. ".$failures;
} else {
$msg = "E-mail enviado.";
}
dump($failures);
在config.yml中我使用:
swiftmailer:
host: xxxx.xxxx.xxxx.xxx
port: 25
spool: { type: memory }
当我使用正确的服务器配置和错误的服务器配置时,send
方法$res
的结果都是1
,我认为这意味着,电子邮件已经已经送走了。但是分析器确实显示以下错误:
Exception occurred while flushing email queue: Connection could not be established with host xxxx [php_network_getaddresses: getaddrinfo failed: Este host n�o � conhecido. #0]
为什么send方法没有返回错误,如何让它返回错误,所以我可以向用户显示一条消息说出错了?
答案 0 :(得分:1)
似乎问题在于配置
spool: { type: memory }
启用此功能后,电子邮件不会立即发送,但会保存以便稍后发送。