Pergunta

Eu estou usando SwiftMailer para enviar e-mails e se eu tentar usar o endereço de e-mail fictício, por exemplo, se eu digitar "asdf" no endereço de e-mail, eu recebo esta exceção não capturada.

   Fatal error: Uncaught exception 'Swift_RfcComplianceException' with message 
'Address in mailbox given [asdf] does not comply with RFC 2822,

Eu não sou muito experiente em OO .. por isso não sei como lidar com isso? Na verdade, eu só quero que ele falhar se o endereço de email não é válido, mas que não deve jogar a mensagem de erro fatal. Alguma sugestão?

Graças.

Foi útil?

Solução

Você precisa capturar a exceção, como este

try
{
    // Your code to send the email
}
catch (Swift_RfcComplianceException $e)
{
    print('Email address not valid:' . $e->getMessage());
}

Esta não é uma coisa OO, é um exceções coisa.

Outras dicas

Além disso, você pode validar o e-mail antes de enviá-lo:

if(!Swift_Validate::email($email)){ //if email is not valid
                //do something, skip them
                $log_error->log($email);
}

Eu acho que isso significa que o determinado endereço de e-mail não respeita as normas email adressess.

Se o endereço de e-mail é válido com base no que você vê na mensagem de erro, certifique-se de que não há esquerda ou à direita espaços no endereço. por exemplo. executar guarnição ($ email_address).

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top