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不发送邮件[重复]的主要内容,如果未能解决你的问题,请参考以下文章

PHP发送163邮件

发送看起来不像垃圾邮件的电子邮件[重复]

Zabbix3.0 自动邮件报障

在xampp localhost中发送的php邮件不起作用[重复]

用laravel发送电子邮件,但不识别变量[重复]

电子邮件不发送PHP邮件功能[重复]