2

作为主题,我正在尝试使用 PHPMailer 发送电子邮件。但奇怪的是,来自 PHPMailer 的示例仅适用于 XAMPP Windows,而不适用于 XAMPP Linux。我没有修改复杂的设置,我从 XAMPP Linux 更改的设置只是启用了 openssl。

我正在尝试执行下面的基本代码,它仅适用于 XAMPP Windows,但不适用于 XAMPP Linux。每次该行包含的 php 进程时,脚本都会超时$mail->

 <?php
 require_once "phpmailer/class.phpmailer.php";
 $mail = new PHPMailer;

 //die("ok");
 $mail->AddAddress("email address", "name");
 $mail->SetFrom("email address", "name");
 $mail->WordWrap = 50;
 $mail->IsHTML(true);
 $mail->Subject = "Subject";
 $mail->Body    = "<p>HTML Test</p>";
 $mail->Send()
 ?>

超时消息:

Fatal error: Maximum execution time of 30 seconds exceeded in /opt/lampp/htdocs/phpmailertest/phpmailer/class.phpmailer.php on line 767

class.phpmailer.php 的第 767 行:

return (boolean)preg_match('/^(?!(?>(?1)"?(?>\\\[ -~]|[^"])"?(?1)){255,})(?!(?>(?1)"?(?>\\\[ -~]|[^"])"?(?1)){65,}@)((?>(?>(?>((?>(?>(?>\x0D\x0A)?[\t ])+|(?>[\t ]*\x0D\x0A)?[\t ]+)?)(\((?>(?2)(?>[\x01-\x08\x0B\x0C\x0E-\'*-\[\]-\x7F]|\\\[\x00-\x7F]|(?3)))*(?2)\)))+(?2))|(?2))?)([!#-\'*+\/-9=?^-~-]+|"(?>(?2)(?>[\x01-\x08\x0B\x0C\x0E-!#-\[\]-\x7F]|\\\[\x00-\x7F]))*(?2)")(?>(?1)\.(?1)(?4))*(?1)@(?!(?1)[a-z0-9-]{64,})(?1)(?>([a-z0-9](?>[a-z0-9-]*[a-z0-9])?)(?>(?1)\.(?!(?1)[a-z0-9-]{64,})(?1)(?5)){0,126}|\[(?:(?>IPv6:(?>([a-f0-9]{1,4})(?>:(?6)){7}|(?!(?:.*[a-f0-9][:\]]){8,})((?6)(?>:(?6)){0,6})?::(?7)?))|(?>(?>IPv6:(?>(?6)(?>:(?6)){5}:|(?!(?:.*[a-f0-9]:){6,})(?8)?::(?>((?6)(?>:(?6)){0,4}):)?))?(25[0-5]|2[0-4][0-9]|1[0-9]{2}|[1-9]?[0-9])(?>\.(?9)){3}))\])(?1)$/isD', $address);

这是我的详细信息:

看起来我的 XAMPP Linux 有问题,但我无法追踪问题。

有什么帮助吗?

谢谢

4

3 回答 3

0

我有完全相同的问题。我用一个肮脏的黑客修复了它。将函数(以 开头public static function ValidateAddress($address) {)替换为:

public static function ValidateAddress($address) {
    return true;
}

这将验证您提供的任何地址,任何

在将地址与 PHPMailer 一起使用之前,您应该自己检查地址。我不知道如果你不这样做会发生什么,只是检查地址。

于 2013-06-19T18:09:00.067 回答
0

编辑您的PHP.ini文件。这应该在您的PHP文件夹中。

在该文件中搜索maximum_execution_time out。编辑值 - 以秒为单位。- - 默认应为 30。

例如:-

replace maximum_execution_time  30
      with   maximum_execution_time 3000(for 5 minutes if that helps)

编者注:这并不总是有效。请看上面的正确答案

于 2015-05-02T06:16:00.113 回答
0

我有同样的问题,只是发现这与 PHPMailer 本身无关。它与您的 SMTP 服务器有关。我的提供者刚刚告诉我有问题。当您遇到此问题时,我建议您先联系您的管理员。

于 2016-11-20T02:47:50.890 回答