2014-01-16 2 views
0

Я использую phpmailer для отправки электронной почты, и я проверяю, что, когда я добавляю некоторые адреса, и только один из них является недопустимым адресом (не существует) E.G. «[email protected]» и отправить электронное письмо, я вижу, что письмо было отправлено (чтобы исправить адреса), и я понятия не имею, как проверить, не является ли один из адресов неправильным, чтобы иметь возможность регистрировать эту проблему перед отправкой электронной почты.PHPMailer и кратные адреса адреса назначения

Код для отправки и добавления адреса заключается в следующем:

foreach($options['emails'] as $email){ 
     $mmail->AddAddress($email[0], $email[1]); 
} 

if (!$mmail->Send()) { 
    echo "error"; 
}else { 
    echo "sent"; 
} 

Заранее спасибо

ответ

0

Посмотрите на filter_var, чтобы проверить синтаксис:

if (filter_var($email[0], FILTER_VALIDATE_EMAIL)) { 
    // email address is considered valid 

Обратите внимание, что есть способы подключиться к SMTP-серверу получателей и спросить, действительно ли это письмо (см., например, https://code.google.com/p/php-smtp-email-validation/), однако многие почтовые серверы не будут соблюдать эти q ueries больше, из-за злоупотребления спамом.

+0

Я имею в виду неправильный адрес как адрес электронной почты, который не существует, а не плохой отформатированный адрес. извините за мое плохое объяснение ... – Tommy

+0

Нет надежного способа узнать, действительно ли существует адрес электронной почты. Раньше (SMTP-запросы), но спамеры злоупотребляли им. Некоторые люди, по крайней мере, будут выполнять поиск в MX для имени домена, чтобы проверить, можно ли это проверить. – jszobody

+0

Единственный способ узнать, действительно ли электронное письмо является действительным, - отправить электронное письмо и нажать на ссылку, подтверждающую получение. – jszobody

Смежные вопросы