PHPMailer-master不发送邮件[重复]
Posted
技术标签:
【中文标题】PHPMailer-master不发送邮件[重复]【英文标题】:PHPMailer-master not sending mail [duplicate] 【发布时间】:2021-10-24 08:27:42 【问题描述】:我看到了有关此主题的其他主题,但建议的解决方案似乎都不适合我。这是我发送带附件邮件的代码:
require 'phpMailer/src/Exception.php';
require 'PHPMailer/src/PHPMailer.php';
require 'PHPMailer/src/SMTP.php';
require_once('class.phpmailer.php');
$send_mail = new PHPMailer();
$send_mail->From = "classiperlo2@altervista.org";
$send_mail->FromName = "classiperlo2";
$send_mail->Subject = "Backup";
$send_mail->Body = "Backup";
$send_mail->AddAddress("mymail@gmail.com");
$attach_file = $file;
$send_mail->AddAttachment($attach_file);
return $send_mail->Send();
我之前在服务器上上传了包含 PHPMaster 文件的文件夹(从 Github 下载;路径正确)。但它不起作用!它根本不发送任何邮件。
我真的不知道该怎么办。如果可以的话,请用简单的方式给我解释一下!
非常感谢 詹卡洛
【问题讨论】:
你应该检查$send_mail->ErrorInfo
看看为什么它不起作用。
【参考方案1】:
如果你下载了最新版本,仍然有这行:
require_once('class.phpmailer.php');
您的脚本将因致命错误而失败,因为该文件在 PHPMailer 中已存在多年。
没有任何错误输出很难更准确。此外,您的代码不是基于 PHPMailer 提供的示例,而是您自己编写的,根本没有错误检查,因此您永远不会知道它何时或为何死亡。
【讨论】:
我删除了 require_once。脚本在 $send_mail = new PHPMailer() 之后停止。该指令未执行或导致致命错误。由于在使用 $send_mail 之前发生这种情况,所以我不知道如何查看错误代码。 错误将出现在您的网络服务器错误日志中。您缺少将PHPMailer
类导入全局命名空间的use
语句,因此当您尝试创建实例时,PHPMailer
类似乎不存在,这是一个致命错误。如果您阅读文档并将代码基于提供的示例,因为它们正确地完成了所有这些基本工作,这将有所帮助。
感谢您的友好回答。我阅读了文档,并尝试在我的 php 文件的开头放置这些行 use PHPMailer\PHPMailer\PHPMailer 并使用 PHPMailer\PHPMailer\Exception ,但没有结果。我要放弃了。无论如何,再次感谢您!以上是关于PHPMailer-master不发送邮件[重复]的主要内容,如果未能解决你的问题,请参考以下文章