如何使用swiftmailer将失败的邮件记录到数据库中

时间:2019-06-12 14:25:18

标签: yii2 swiftmailer

如何检查失败的邮件。即使我提供了无效的电子邮件地址,Swiftmailer也会返回true。我需要将发送失败的邮件记录到数据库中

$message = Yii::$app->mailer->compose();
$message->attach($protocal.$_SERVER['SERVER_NAME'].$payslip);
$message->setTo("tft@sjkdsjk.dfdh");
$message->setFrom("hr@gmail.com");
$message->setSubject($vStaffName." ".$vPeriodName. " Payslip");
$message->setTextBody("Find attached copy of your payslip. To open this document use your ID number as password");

$send = $message->send();

var_dump($ send); die(); //始终返回true

我希望是对还是错

1 个答案:

答案 0 :(得分:0)

您应该使用SMTP进行检查。

这意味着您必须连接到该电子邮件的SMTP服务器。

连接到SMTP服务器后,您应该发送以下命令:

HELO somehostname.com
MAIL FROM: <no-reply@gmail.com>
RCPT TO: <emailtovalidate@domain.com>

如果收到“拒绝中继访问”,则表示该电子邮件无效。

有一个简单的PHP类。您可以使用它:

http://www.phpclasses.org/package/6650-PHP-Check-if-an-e-mail-is-valid-using-SMTP.html