2011-11-03 144 views
3

我使用的PHPMailer和我收到以下错误:PHPMailer的不发送电子邮件

邮件发送失败 邮件错误:SMTP错误:无法连接到SMTP主机。

<?php 
require("class.phpmailer.php"); 
$mailer = new PHPMailer(); 
$mailer->IsSMTP(); 
$mailer->Host = 'ssl://smtp.myhost.com:465'; 
$mailer->SMTPAuth = TRUE; 
$mailer->Username = '[email protected]'; 
$mailer->Password = 'mypass'; 
$mailer->From = '[email protected]'; 
$mailer->FromName = 'myname'; 
$email1 = $_GET['email']; 
$verification = rand(); 
$mailer->Body = 'Welcome to our site'; 
$mailer->Subject = 'verification'; 
$mailer->AddAddress($email1); 
if(!$mailer->Send()) 
{ 
    echo "Message was not sent<br/ >"; 
    echo "Mailer Error: " . $mailer->ErrorInfo; 
} 
else 
{ 
    echo "Message has been sent"; 
} 
?> 

注:我用“myhost.com”,但它不是我的真实域名

+4

您需要将其指向SMTP主机。 'myhost.com'不存在。 – Polynomial

+0

您的SMTP服务器实际上是否支持端口465上的ssl电子邮件? –

+0

是的,它应该有,我可以检查以验证这一点的任何命令? (我有一个默认安装HTTP/HTTPS,电子邮件,FTP,FTPS,POP,IMAP服务器 - 专用托管全新) – Ken

回答

4

我相信你是正确指定您的主机。试试这个:

$mailer->Host="smtp.myhost.com"; 
$mailer->Port=465; 
$mailer->SMTPSecure="ssl"; //If this doesn't work, try 'tls' 

如果仍然不能正常工作,考虑设置:

$mailer->SMTPDebug=1; 

此外,还要确保PHP的OpenSSL的扩展功能。

+0

1.该服务没有工作,现在它的。 2.我原来的代码没有工作,但这个人谢谢 – Ken

相关问题