red*_*009 4 php email ssl gmail phpmailer
我查看了以下链接:
通过PHP邮件程序使用Gmail SMTP服务器发送电子邮件
http://uly.me/phpmailer-and-gmail-smtp/
...并试图为自己实现这些的组合......但大多数时候它发送此消息......
无法发送消息.
邮件程序错误:SMTP连接()失败.
然而有一次,当我在"tls"和"ssl"之间进行实验时,它发送了这个...
SMTP错误:无法连接到服务器:连接超时(110)SMTP连接()失败.无法发送消息.
邮件程序错误:SMTP连接()失败.
我的代码附上了...我不知道错过了什么?我问网络托管服务是否阻止并给他们一个我的代码模板 - 他们说服务器允许连接到Gmail的SMTP.
require_once("class.phpmailer.php");
$mail = new PHPMailer();
$mail -> IsSMTP();
$mail -> SMTPDebug = 2;
$mail -> SMTPAuth = 'true';
$mail -> SMTPSecure = 'tls';
$mail -> SMTPKeepAlive = true;
$mail -> Host = 'smtp.gmail.com';
$mail -> Port = 587;
$mail -> IsHTML(true);
$mail -> Username = "myemail@gmail.com";
$mail -> Password = "mypassword";
$mail -> SingleTo = true;
$to = xxx;
$from = xxx;
$fromname = xxx;
$subject = xxx;
$message = xxx
$headers = "From: $from\n";
$headers .= "MIME-Version: 1.0\n";
$headers .= "Content-type: text/html; charset=iso-8859-1\n";
$mail -> From = $from;
$mail -> FromName = $fromname;
$mail -> AddAddress($to);
$mail -> Subject = $subject;
$mail -> Body = $message;
if(!$mail -> Send()){
echo "Message could not be sent. <p>";
echo "Mailer Error: " . $mail-> ErrorInfo;
exit;
}
Run Code Online (Sandbox Code Playgroud)
我挖了进去.使用PHP本机的fsocketopen来测试连接并消除大多数潜在问题.用这个写一个简单的php页面:
$host = "smtp.gmail.com";
$port = "587";
$checkconn = fsockopen($host, $port, $errno, $errstr, 5);
if(!$checkconn){
echo "($errno) $errstr";
} else {
echo 'ok';
}
Run Code Online (Sandbox Code Playgroud)
你应该回来"确定".如果不是,您知道您的连接问题与Phpmailer无关.如果是这样的话,它可能就是托管公司.如果没有,那么你的本地主机和托管公司之间的区别就像不同版本的php一样简单.
我怀疑这个脚本不会建立连接
| 归档时间: |
|
| 查看次数: |
33445 次 |
| 最近记录: |