2015-07-19 91 views
0

我试图通过SMTP发送电子邮件,使用从GitHub下载的PHPMailer库。我跟着一个教程,但它不想发送它的电子邮件。无法通过phpmailer发送邮件

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

[Sun Jul 19 12:44:08.067906 2015] [proxy_fcgi:error] [pid 12127:tid 140673456404224] [client -] AH01071: Got error 'PHP message: PHP Notice: Undefined index: mailtest.php in /home/mick/domains/mcgamerzone.com/public_html/header.php on line 56\nPHP message: PHP Fatal error: Class 'SMTP' not found in /home/mick/domains/mcgamerzone.com/public_html/assets/sources/PHPMailer-master/class.phpmailer.php on line 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 = "[email protected]"; 
$mail->Password = "Pass"; 
$mail->From = "[email protected]"; 
$mail->FromName = "McGamerZone.com"; 
$mail->Subject = "Test mail"; 
$mail->Body = "Testing this awesome mail"; 
$mail->AddAddress("[email protected]"); 
if(!$mail->Send()){ 
    echo "Mailer Error: ". $mail->ErrorInfo; 
} else { 
    echo "Message was send."; 
} 

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

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

2015-07-19 11:05:24 CLIENT -> SERVER: EHLO www.mcgamerzone.com 2015-07-19 11:05:24 CLIENT -> SERVER: STARTTLS 2015-07-19 11:05:24 SMTP Error: Could not connect to SMTP host. 2015-07-19 11:05:24 CLIENT -> SERVER: QUIT 2015-07-19 11:05:25 SMTP ERROR: QUIT command failed: ���~�#������Y�� d�h;�ѵK��
u���ZVۯ�<@{���=h�0���Zt��m?�R�j��7����M����U�9Kzշж�"����4��ƺ,��'�j࠹ė���1p��6�(a0�����A]�0'�s��1��s�ՠt�}�� Hm��:�D2��1]u���A��͆���������(���!r�.�#���cɵ=�K� )��s�k�u�~�c���qϝ�8Nq� ����O�@2�O-����\���Pl޾{����t�j���㦂JN���ݒ�J��s�wR�}�|b �R�^���j��vi�J��''Z�4���b�RɊ�G"�� ��T�t͵�ƲPq|����4���R�E��4Vn0%��0��w�o�[��(����
�7�����љc���c�w��j�_/���9��@��Vj���l�������i��r��j��{Zq��L����y��*pe�����+���;b����&A7T�@>x�\��C�W����Iw&L_4b�q�(���A��:/}��\l����$��,�y}�\�?&F��y���=eP�3�Q�&Z�,����k���(̛m~Ç_��S�o �-"����@�����a���r��^&�\23 ���l]J&�^�#n�w�Q�BJ����>��rwG�� LÂ�zo۸�G7��e-��d�q cvV$�Sn�o�V��r ��m��k{�D�d��B)\ +��nN��w��%A ?��������b`0s�����0����9��M��� ##�����B���Xi�+C���;3m�q��/>?��n��k��� ����T�t��hD�W'>����8��w�ܶԪ(��&ɻ�?8Ȋ�221 mgz05.mgzsys.net closing connection 2015-07-19 11:05:25 SMTP connect() failed. https://github.com/PHPMailer/PHPMailer/wiki/Troubleshooting

任何想法,为什么连接失败?作为主机信息和加密类型的凭证都是有效的。

+0

请不要使用答案补充更多的内容/代码/错误,使用编辑重新编辑您的问题,并与更新的代码更新。 – Shehary

+0

该输出包含链接,您是否阅读并理解它,以及那里的信息与您的案例有关?另外,不需要将编辑伪装成单独的段落。在这种情况下,它甚至使事情变得不那么清晰,因为你说“现在我得到......”,而没有任何信息你改变了! –

回答

0

我怀疑你这样做是:

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

什么,你应该做的是:

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

磁带自动加载机不会自动加载本身,它不是的PHPMailer类的工作加载它。

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

+0

我没有得到有用的输出,它会抛出很多像这样的字符:, ' j࠹ė 1p 6 (a0 A] 0' s 1 s ՠt } 有何建议? –