Pregunta

Estoy utilizando SwiftMailer para el envío de correos y si trato de usar dirección de correo electrónico falsa, por ejemplo, si el tipo de "asdf" en la dirección de correo electrónico, consigo esta excepción no capturada.

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

No soy muy experimentado en OO .. así que no sé cómo manejar esto? En realidad, yo sólo quiero que fracase si la dirección de correo electrónico no es válida, pero que no deberia lanzar el mensaje de error fatal. ¿Alguna sugerencia?

Gracias.

¿Fue útil?

Solución

Es necesario detectar la excepción, como este

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

Esto no es una cosa OO, es un href="http://php.net/exception" excepciones rel="nofollow cosa .

Otros consejos

Además, puede validar el correo electrónico antes de enviarlo:

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

Creo que significa que la dirección de correo electrónico indicada no respeta las normas adressess de correo electrónico.

Si la dirección de correo electrónico es válida la base de lo que se ve en el mensaje de error, asegúrese de que no hay espacios iniciales o finales en la dirección. p.ej. plazo ajuste ($ email_address).

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top