使用 phpmailer 永远不会收到带有附件的电子邮件发送到 gmail

问题描述

当我尝试使用 PHPmailer 向 gmail 发送带有附件的电子邮件时,发生了一些奇怪的事情。 有时延迟 5 分钟后收到电子邮件,有时从未收到。从 PHPmailer 调试器我得到电子邮件实际上是发送的,所以我认为这与附件被 gmail 阻止有关。

附件是一个 zip 文件,仅包含 .jpg 和 .pdf 文件

如果我删除 addAttachment('path/to/file') 一切正常。

奇怪的是,有时,即使有附件,电子邮件也会立即收到,而有时却从未收到。

这是代码

$mail = new PHPMailer();
$mail->CharSet = 'UTF-8';
$mail->isSMTP();
$mail->SMTPDebug = 0;
$mail->Debugoutput = 'html';
$mail->Host = 'my_host';
$mail->Port = 'my_port';
$mail->SMTPAuth = true;
$mail->Username = 'my_username@domain.com';
$mail->Password = 'my_password';
$mail->setFrom('my_username@domain.com','my_username@domain.com');
$mail->addAddress('test@gmail.com','test@gmail.com');
$mail->Subject = $subject;
$mail->msgHTML($msg);
$mail->AltBody = $subject;
$mail->addAttachment($zipfilename);

if($mail->send()){
    echo "ok";
}else{
    echo "error";
} 

我不知道为什么会发生这种情况,因此我们将不胜感激。

编辑: 我发现通过两次更改一切正常。 更改是设置 $mail->SMTPSecure = 'tls' 我有一个这样的路径 ./path/to/file 并将其更改为“path/to/file”。

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)