Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/288.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
让swiftmailer在php中忽略坏邮件_Php_Swiftmailer - Fatal编程技术网

让swiftmailer在php中忽略坏邮件

让swiftmailer在php中忽略坏邮件,php,swiftmailer,Php,Swiftmailer,我最多有5封通过Swift Mailer发送的电子邮件,但我不知道其中有多少封是无效的。 无效的电子邮件=“” 我想知道是否有一种方法可以让swift mail忽略无效的电子邮件,而不是给出致命错误而不发送任何内容。我在网上看了看,他们提到我应该尝试捕捉坏邮件,但我不太明白语法,也不太明白他们想说什么,反正这是我到目前为止的代码 //发送欢迎信 功能发送电子邮件($info){ 通过使用filter\u var检查电子邮件是否有效,预先剥离无效电子邮件怎么样 ... $emails = arr

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

我想知道是否有一种方法可以让swift mail忽略无效的电子邮件,而不是给出致命错误而不发送任何内容。我在网上看了看,他们提到我应该尝试捕捉坏邮件,但我不太明白语法,也不太明白他们想说什么,反正这是我到目前为止的代码

//发送欢迎信 功能发送电子邮件($info){


通过使用
filter\u 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);

这不是答案,但您正在分配
$user2['Email']
到五个不同的变量。我的坏用户忘记更改用户上的数字它应该与电子邮件号码对应我对其工作原理感到困惑我尝试了简单的复制和粘贴,它停止向我发送错误消息,但没有发送电子邮件。@user2444298它使用
过滤器\u var
功能检查不同的电子邮件,如果他们进行验证,则会将其添加到
$emails
数组中。只有经过验证的电子邮件才会添加到
$emails
数组中,因此,当使用
$message->setTo($emails)
时(如果您的示例中语法正确;我不使用swiftmailer),这将意味着我们已经剥离(或者说,从未添加)对数组无效的电子邮件。如果要测试哪些电子邮件已验证,可以在所有的
筛选之后使用
print\r($emails)
,或者使用
var\u dump($emails)
...

$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);