Фатальная ошибка:Неперехваченное исключение..используя PHP SwiftMailer

StackOverflow https://stackoverflow.com/questions/1245201

  •  12-09-2019
  •  | 
  •  

Вопрос

Я использую SwiftMailer для отправки писем, и если я попытаюсь использовать фиктивный адрес электронной почты, например, если я наберу «asdf» в адресе электронной почты, я получу это неперехваченное исключение.

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

Я не очень опытен в ОО..так не знаешь, как с этим справиться?На самом деле я просто хочу, чтобы он потерпел неудачу, если адрес электронной почты недействителен, но он не должен выдавать сообщение о фатальной ошибке.Какие-либо предложения?

Спасибо.

Это было полезно?

Решение

Вам нужно перехватить исключение, вот так

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

Это не объектно-ориентированная вещь, это исключения вещь.

Другие советы

Кроме того, вы можете проверить электронное письмо перед его отправкой:

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

Я думаю, это означает, что данный адрес электронной почты не соответствует стандартам адресов электронной почты.

Если адрес электронной почты действителен, судя по сообщению об ошибке, убедитесь, что в адресе нет пробелов в начале или в конце.например.запустите обрезку($email_address).

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top