当前位置: 首页 > 面试题库 >

调试PHP Mail()和/或PHPMailer

罗源
2023-03-14
问题内容

我非常困扰于从PHP脚本发送邮件的问题。一些数据:

  • 共享主机,无SSH访问,仅主机提供商面板
  • PHP版本5.2.5
  • 去年,我建立了一个站点,使用相同的主机发送邮件没有问题
  • 在下面的代码中,出于匿名目的,假设域名是“ domain.com”,而我的私人地址是“ myaddress@mydomain.com”。

这是代码:

<?php
error_reporting(E_ALL); 
ini_set("display_errors", 1);

$to = "myaddress@mydomain.com";
$subject = "Hi";
$body = "Test 1\nTest 2\nTest 3";
$headers = 'From: info@domain.com' . "\r\n" .
    'errors-to: myaddress@mydomain.com' . "\r\n" .
    'X-Mailer: PHP/' . phpversion();

if (mail($to, $subject, $body, $headers)) {
    echo("Message successfully sent");
} else {
    echo("Message sending failed");
}

require('class.phpmailer.php');
$message = "Hello world";
$mail = new PHPMailer();
$mail->CharSet = "UTF-8";
$mail->AddAddress("myaddress@mydomain.com", "Agos");
$mail->SetFrom("info@domain.com","My Site");
$mail->Subject = "Test Message";
$mail->Body = $message;
$mail->Send();
?>

这就是我得到的:

邮件发送失败无法实例化邮件功能。

至少可以说这令人困惑。我有什么办法要做,至少可以得到一些更有意义的错误?为什么类中的代码显示在我的文件中?


问题答案:

看来class.phpmailer.php文件已损坏。我将下载最新版本,然后重试。

我一直使用phpMailer的SMTP功能:

$mail->IsSMTP();
$mail->Host = "localhost";

如果您需要调试信息:

$mail->SMTPDebug  = 2; // enables SMTP debug information (for testing)
                       // 1 = errors and messages
                       // 2 = messages only


 类似资料:
  • 我有发送邮件与谷歌SMTP和最新版本的PHPMailer的问题。这里有很多问题,但是答案对我不起作用。我使用免费托管与免费子域。这是我的标准PHP代码发送电子邮件从文档: 我得到了这个错误: .... 2017-06-03 15:15:33服务器- 如果将与端口一起使用,我会看到相同的错误。 在我的电子邮件帐户2中,工厂身份验证处于和处于。 我真的不知道该怎么办。

  • 在程序运行过程中,总会遇到各种各样的错误。 有的错误是程序编写有问题造成的,比如本来应该输出整数结果输出了字符串,这种错误我们通常称之为bug,bug是必须修复的。 有的错误是用户输入造成的,比如让用户输入email地址,结果得到一个空字符串,这种错误可以通过检查用户输入来做相应的处理。 还有一类错误是完全无法在程序运行过程中预测的,比如写入文件的时候,磁盘满了,写不进去了,或者从网络抓取数据,网

  • 在程序运行过程中,总会遇到各种各样的错误。 有的错误是程序编写有问题造成的,比如本来应该输出整数结果输出了字符串,这种错误我们通常称之为bug,bug是必须修复的。 有的错误是用户输入造成的,比如让用户输入email地址,结果得到一个空字符串,这种错误可以通过检查用户输入来做相应的处理。 还有一类错误是完全无法在程序运行过程中预测的,比如写入文件的时候,磁盘满了,写不进去了,或者从网络抓取数据,网

  • 我正在尝试使用PHPMailer和我的Google套件电子邮件发送PHP电子邮件(info@mydomain.com). 在阅读了Stack Overflow的其他帖子并尝试了一切之后,我无法使其工作。我还在正确的g套件帐户中将“允许不太安全的应用程序”设置为“true”。 以下是我不断遇到的错误: 使用SSL和端口465: 对于TLS和端口587: 以下是我的PHP代码: 我只想发送一些普通的电

  • 主要内容:涉及的步骤,了解断点运行Python代码包含两种模式:运行脚本和调试脚本。 本章重点介绍如何使用PyCharm来调试Python脚本。 涉及的步骤 调试Python项目的步骤如下所述 - 第1步 从下面的屏幕截图所示开始调试Python项目 - 第2步 现在,Windows防火墙要求调试Python项目的权限,因为该过程涉及逐行编译。 第3步 调试控制台在PyCharm编辑器中创建,如下所示,它逐行执行输出。 运行按

  • 正如你已经发现的,调试汇编代码非常的困难和容易受到挫折。 我建议你先把你需要优化的小段代码用高级语言写成一个子程序。 然后写个小的测试程序可以充分测试你的这个子程序。 确认测试程序可以测试到所有的分支和边界条件。 当高级语言的子程序可以工作了,你再把它翻译成汇编代码。 现在你可以开始优化了。 每次你做了点修改都应该运行测试程序看看能不能正确工作。 将你所有的版本都标上号并保存起来,这样在发现测试程