让swiftmailer忽略php中的不良邮件


Get swiftmailer to ignore bad emails in php

我最多有5封电子邮件要通过Swift Mailer发送,但我从来不知道其中有多少将是无效的。无效邮件=" "

我想知道是否有一种方法可以让快速邮件忽略无效的电子邮件,而不是给出致命的错误,不发送任何东西。我上网看了看,我看到他们提到我应该尝试捕获之前的不良邮件,但我不太理解语法或他们想说什么,无论如何,这是我到目前为止的代码

//发送欢迎信函数send_email ($ info) {

    //format each email
    $body = format_email($info,'html');
    $body_plain_txt = format_email($info,'txt');
    //setup the mailer
    $transport = Swift_MailTransport::newInstance();
    $mailer = Swift_Mailer::newInstance($transport);
    $message = Swift_Message::newInstance();
    $message ->setSubject('Your Party Information');
    $message ->setFrom(array('noreply@stackoverflow.net' => 'noreply@stackoverflow.net'));
    $message ->setTo(array($info['Email1'],$info['Email2'],$info['Email3'],$info['Email4'],$info['Email5'] => $info['$firstname']));
    $message ->setBody($body_plain_txt);
    $message ->addPart($body, 'text/html');
    $result = $mailer->send($message);
    return $result;
}
$emails1 = $user2['Email'] or " ";
$emails2 = $user2['Email'] or " ";
$emails3 = $user2['Email'] or " ";
$emails4 = $user2['Email'] or " ";
$emails5 = $user2['Email'] or " ";

通过与filter_var检查电子邮件是否有效,如何事先简单地剥离无效邮件?

...
$emails = array();
if (filter_var($info['Email1'], FILTER_VALIDATE_EMAIL)) 
    $emails[] = $info['Email1'];
if (filter_var($info['Email2'], FILTER_VALIDATE_EMAIL)) 
    $emails[] = $info['Email2'];
if (filter_var($info['Email3'], FILTER_VALIDATE_EMAIL)) 
    $emails[] = $info['Email3'];
if (filter_var($info['Email4'], FILTER_VALIDATE_EMAIL)) 
    $emails[] = $info['Email4'];
if (filter_var($info['Email5'], FILTER_VALIDATE_EMAIL)) 
    $emails[$info['Email5']] = $info['$firstname'];
...
$message ->setTo($emails);