【发布时间】:2013-04-06 17:57:08
【问题描述】:
我目前将我的网站托管在不允许 SMTP 的 freehostia 上。作为解决此问题的方法,我在 Zoho (www.zoho.com) 创建了一个帐户,可让您将您的域链接到他们的服务器并通过他们发送和接收电子邮件。 我还按照指示在我的主机上安装了 phpmailer。
我使用 Zoho 提供的 smtp 信息创建了一个测试文件,据我所知,一切设置正确。
问题是当我尝试发送邮件时出现错误:
Mailer 错误:以下发件人地址失败:donotreply@domain.com :在未连接的情况下调用 Mail()
我的测试文件代码如下所示:
<?php
require '../PHPMailer-master/class.phpmailer.php';
$mail = new PHPMailer();
$mail->IsSMTP();
$mail->SMTPAuth = true;
$mail->SMTPSecure = "ssl";
$mail->Host = "smtp.zoho.com";
$mail->Port = 465;
$mail->Username = "donotreply@domain.com";
$mail->Password = "mypassword";
$mail->From = "donotreply@domain.com";
$mail->FromName = "Domain";
$mail->AddAddress("testaddress@gmail.com");
$mail->Subject = "Test with PHPMailer";
$mail->Body = "This is a sample body text!";
$mail->IsHTML (true);
if(!$mail->Send()) {
echo "Mailer Error: " . $mail->ErrorInfo;
} else {
echo "Message sent!";
}
?>
有什么建议吗?
【问题讨论】:
-
尝试将您的用户名和 From 从 donotreply@domain.com 替换为 donotreply@your_domain.com 或 donotreply@zoho.com
-
没有运气将它换成@zoho.com。是否主机无法发送 smtp 仍然是问题的根源?
-
echo
$mail->IsSMTP();并检查它打印的内容。我猜是检查smtp是否存在,可能是主机无法发送smtp的问题,你也可以尝试在主机上配置你的php.ini。 -
此语句返回 no:
if ($mail->IsSMTP()) echo "yes"; else echo "no";所以我认为它一定不能...您认为我可以改变这一点,还是我坚持下去? -
我的建议是,配置您的 .ini 文件(我猜您正在使用 Apache 服务器)并在那里设置 SMTP 设置并将 SMTP 服务器的服务器添加到 zoho 服务器。希望有帮助!