问题描述
当我尝试使用 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 (将#修改为@)