无法通过phpmailer发送邮件

时间:2015-07-19 10:50:20

标签: php email

我正在尝试使用刚刚从GitHub下载的PHPMailer库通过SMTP发送电子邮件。我按照教程,但不想发送电子邮件。

我的HTTPD错误日志返回以下条目:

  

[Sun Jul 19 12:44:08.067906 2015] [proxy_fcgi:error] [pid 12127:tid   140673456404224] [客户端 - ] AH01071:错误'PHP   消息:PHP注意:未定义的索引:mailtest.php in   /home/mick/domains/mcgamerzone.com/public_html/header.php在线   56 \ n \ nNPHP消息:PHP致命错误:未找到类“SMTP”   /home/mick/domains/mcgamerzone.com/public_html/assets/sources/PHPMailer-master/class.phpmailer.php   在第1291行\ n',referer:https://www.mcgamerzone.com/mailtest.php

我的代码如下:

require_once("assets/sources/PHPMailer-master/class.phpmailer.php");
$mail = new PHPMailer();
$mail->isSMTP();
$mail->SMTPDebug = 1;
$mail->SMTPAuth = true;
$mail->SMTPSecure = "tsl";
$mail->Host = "mail.mcgamerzone.com";
$mail->Port = 25;
$mail->IsHTML(true);
$mail->Username = "do_not_reply@mcgamerzone.com";
$mail->Password = "Pass";
$mail->From = "do_not_reply@mcgamerzone.com";
$mail->FromName = "McGamerZone.com";
$mail->Subject = "Test mail";
$mail->Body = "Testing this awesome mail";
$mail->AddAddress("test@mcgamerzone.com");
if(!$mail->Send()){
    echo "Mailer Error: ". $mail->ErrorInfo;
} else {
    echo "Message was send.";
}

请帮我解决这个问题,谢谢。

编辑:我现在得到以下输出:

  

2015-07-19 11:05:24客户 - >服务器:EHLO www.mcgamerzone.com   2015-07-19 11:05:24客户 - >服务器:STARTTLS 2015-07-19 11:05:24   SMTP错误:无法连接到SMTP主机。 2015-07-19 11:05:24客户    - >服务器:退出2015-07-19 11:05:25 SMTP错误:退出命令失败: 〜 # Y d h; ѵK
  uZVۯ< @ {= h0Ztm Rj7MU9Kzշж” 4ƺ,'j࠹ė1p6(A0A] 0's1sՠ吨}   HM:D21] UA(R#cɵ= K!   )SKU〜cqϝ8Nq   Ø@ 2 O- \ PL޾{TJ㦂JNݒJswR} | b   R 2jviJ''Z4bRɊG”   Tt͵ƲPq| 4RE4Vn0%0wo [(
  7љccwj_/ 9 @ Vjlirj {ZqLy * PE +; b和A7T @&X的催化剂\ CWIw&安培; ?L_4bq(A:/} \升$,Y} \&安培; Fy的= eP3Q&安培; Z,K(M〜Ç_So    -“ @ a r ^& \23 l] J& ^ #n w Q BJ > RWG   LÂ zo8 G7 e- d qcvV$ Sn o V r m k{ D d B)\ + nN w %一个   ? b`0s 0 9 M ## B Xi +C ;3m q /> NK    T t hD W'> 8 w ܶԪ( &ɻ ?8Ȋ 221mgz05.mgzsys.net关闭   连接2015-07-19 11:05:25 SMTP connect()失败。   https://github.com/PHPMailer/PHPMailer/wiki/Troubleshooting

知道连接失败的原因吗?作为主机信息和加密类型的凭证都是有效的。

1 个答案:

答案 0 :(得分:0)

我怀疑你这样做:

require 'class.phpmailer.class.php';
$mail = new PHPMailer;

你应该做的是:

require 'PHPMailerAutoload.php';
$mail = new PHPMailer;

自动加载器不会自动加载,并且它不是PHPMailer类'加载它的工作。

(来源:https://github.com/PHPMailer/PHPMailer/issues/113