【问题标题】:PHPMailer-master not sending mail [duplicate]PHPMailer-master不发送邮件[重复]
【发布时间】: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看看为什么它不起作用。

标签: php email phpmailer


【解决方案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 ,但没有结果。我要放弃了。无论如何,再次感谢您!
猜你喜欢
  • 1970-01-01
  • 2014-07-04
  • 2019-04-16
  • 2012-09-15
  • 1970-01-01
  • 2021-07-16
  • 2020-09-17
  • 1970-01-01
  • 2016-09-17
相关资源
最近更新 更多