我的PHPMailer脚本适用于我的笔记本电脑,但不适用于托管服务器

时间:2013-03-26 01:19:39

标签: gmail phpmailer

使用PHPMailer发送电子邮件时遇到问题。

我知道有很多关于这方面的问题,但在阅读了很多这些问题后,经过三天毫无结果的尝试,我真的很绝望。所以,我试图通过PHPMailer发送电子邮件:

require 'class.phpmailer.php';

$mail = new PHPMailer();
$mail->PluginDir = './';
$mail->IsSMTP();
$mail->Port = 465;
$mail->Host = 'smtp.gmail.com';
$mail->IsHTML(true); 
$mail->Mailer = "smtp";
$mail->SMTPSecure = 'ssl';

$mail->SMTPAuth = true;
$mail->Username = 'myname@gmail.com';
$mail->Password = 'mypassword';

$mail->From = "myname@gmail.com";
$mail->FromName = "MyName";
$mail->addAddress("myname@gmail.com");

$mail->Subject = "Success";
$mail->Body = "Success";

if(!$mail->Send()) echo $mail->ErrorInfo;
else echo "Message has been sent";

当我在笔记本电脑上测试此代码时,它完美无缺。本地php和PHPMailer版本分别为5.3.5和5.2.4。当我尝试在我的网站上传这个脚本时出现问题。托管服务器上的php版本是5.3.3。返回的错误是“以下发件人地址失败:myname@gmail.com:被调用的邮件()没有连接。” 我之前在我的机器上测试代码时遇到过这个错误。问题是在php.ini中没有添加ssl模块(php_openssl.dll)。我添加了它,一切都开始正常。很自然地,当我看到这个错误时,我认为openssl没有加载到托管服务器上。但事实证明情况并非如此 - extension_loaded(“openssl”)返回true。而且,“openssl”包含在从get_loaded_extensions()返回的已加载模块的数组中。 你知道问题可能是什么吗?

0 个答案:

没有答案