【发布时间】:2011-08-08 20:31:20
【问题描述】:
在这个上扯掉我的头发。
我有一个运行 IIS7.0 和 PHP 5.2.4 的内部 Win2008 服务器。电子邮件服务器位于同一网络上的不同服务器上。
我可以使用 php 的邮件功能毫无问题地发送电子邮件,但是当我使用 PHPMailerLite 时,我收到消息“无法实例化邮件功能”。
我研究了很多并尝试了以下但仍然没有乐趣。
- SetFrom - 将其更改为邮件服务器上现有的电子邮件地址。
- 已验证 php.ini 中的 SMTP 设置
- 直接测试了php的邮件功能,邮件发送没问题。
- 再次下载 PHPMailer 以防损坏。
任何帮助将不胜感激.....
艾伦
补充一点,PHPMailer 附带的默认示例也不起作用,同样的错误。 此代码正在其他测试服务器上为我工作。
$mail = new PHPMailerLite();
$mail->IsMail(); // telling the class to use PHP Mail to send email
$mail->SetFrom("CareSys@localdomain.ie","CareSys");
$mail->AddReplyTo("CareSys@localdomain.ie","CareSys");
$mail->Subject = "Weekly Planner";
$mail->AltBody = "To view the message, please use an HTML compatible email viewer!"; // optional, comment out and test
$mail->MsgHTML($body);
$mail->AddAddress($email_add, $carer_name);
$mail->AddAttachment('../../temp/carer_planner.pdf','carer_planner.pdf'); // attachment
$mail->ConfirmReadingTo = 'info@localdomain.ie';
if(!$mail->Send()) { $error_count=1; }
if ($error_count<1) { echo 'Email Sent Successfully'; }
如果我将收件人地址直接放在第 582 行的类文件中,而不是 $to 变量中,它可以工作。但是即使我将 $email_add 变量替换为收件人地址,也不会使用 $mail->AddAddress($email_add, $carer_name) 。
【问题讨论】:
-
¿您能在此处粘贴一些使用 PHPMailerLite 的代码吗?
-
是的,对不起。只是补充一下,我也无法让默认包含的示例正常工作,同样的错误。
-
第 576-596 行之间大约有四行: $rt = @mail($val, $this->EncodeHeader($this->SecureHeader($this->Subject)), $正文,$标头,$参数);你能把邮件前的@去掉吗,运行程序并报告新的错误。
-
不知道调试选项可用。现在的错误是 504 错误,地址无效。此错误通常指示初始 HELO 中的地址,但我已在第 152 行将其作为 $hostname 的值输入,但仍然是相同的错误。
-
抱歉应该补充一下,现在的错误是引用 class.phpmailer-lite 中的第 582 行