[请益] 关于phpmailer的SMTP connect() fail错误

楼主: irene1679 (恩)   2016-05-12 09:57:07
不好意思第一次发文,若有什么地方打的不好请见谅。
各位前辈好,小妹目前遇到一个问题,就是同样的程式码在本机上可以顺利寄出信件,
但上传到免费空间(qov)后却只有寄信失败,得到的错误为:SMTP connect() failed.
其中,已经试过'587搭配tls'与'465搭配ssl'在本机上都可以,上传后也都不行;
也已确认过免费空间的phpinfo的 OpenSSL support 是 enabled
因此想要请教各位:除了要确认phpinfo中的openssl是打开的以外,
还有哪些资讯是我可以确认 有可能造成寄信失败的原因?
以及是不是有什么解决办法?
因为对这方面比较不懂,上网google过还是没有找到解决问题的办法,
不晓得问题究竟在哪里,还请各位前辈能不吝指教,非常感谢!
以下附上小妹的程式码:
<?php
require '../PHPMailer-master/PHPMailerAutoload.php';
$mail = new PHPMailer;
$mail->SMTPDebug = 2;
$mail->IsSmtp();
$mail->Host = 'smtp.gmail.com';
$mail->Port = 587;
$mail->SMTPSecure = "tls";
$mail->SMTPAuth = true;
$mail->Username = Gamil帐号;
$mail->Password = Gmail密码;
$mail->setFrom('irene1679@gmail.com','Mailer');
$mail->AddAddress('irene1679@gmail.com');
$mail->CharSet = 'utf-8';
$mail->WordWrap = 72;
$mail->isHTML(true);
$mail->Subject = '主旨';
$mail->Body = '信件内容';
$mail->AltBody = 'This is the body in plain text for non-HTML mail clients';
if(!$mail->send()) {
echo '信件无法被传送.';
echo 'Mailer错误: ' . $mail->ErrorInfo;
} else {
echo '信件已经发送';
}
?>
作者: shadowjohn (转角遇到爱)   2016-05-12 11:24:00
587请改465, tls改ssl原来已试过,那就得请免费空间帮忙开port ?跟本机的smtp无关的试看看smtp.google.com -> 74.125.23.108 ?
作者: crossdunk (推嘘自如)   2016-05-12 11:57:00
这个一般的问题都是在主机商 他要开放给你 才能使用遇过很多次了,都是主机商帮我开防火墙后才可以我的经验是这样啦,但你找不到客服,所以也没办法测试但你的本机是可以寄信的,程式码部分应该是不会有问题
作者: wilson200106 (种子种子)   2016-05-12 18:45:00
的确有可能是主机商把权限disabled掉了通常如果你买的是"空间"就会遇到主机参数问题
作者: imhaha (嘿嘿)   2016-05-12 20:10:00
用本机试试看最准 通常是免空问题
作者: localhost (127.0.0.1)   2016-05-13 22:25:00
朕不给你不能抢

Links booklink

Contact Us: admin [ a t ] ucptt.com