我想从我的php表单发送邮件。最初我使用过php邮件功能,它工作正常。但我最近将我的服务器从Windows转移到了Linux,其中SMTP是强制性的。我无法访问php.ini文件。因此我使用phpMailer功能。但是当我使用phpMailer时,它会给我以下错误
无效地址:(punyEncode)abc-domain邮件程序错误:无效 地址:(punyEncode)abc-domain。
我的用户名不是我的邮箱地址,即abc@domain.com,但它是abc-domain。这是我的代码。我在一个名为PHPMailer的文件夹中有PHPMailer文件。
<?php
require('PHPMailer/PHPMailerAutoload.php');
$mail = new PHPMailer;
$mail->CharSet = "UTF-8";
$mail->SMTPDebug = 3;
$mail->isSMTP();
$mail->Host = "mail.abc.com";
$mail->SMTPAuth = true;
$mail->Username = "abc-domain";
$mail->Password = "abc123";
$mail->Port = 25;
$mail->From = "abc-domain";
$mail->FromName = "Webmaster-Domain";
$mail->addAddress("xyz@domain.com", "xyz");
$mail->isHTML(true);
$mail->Subject = "Subject Text";
$mail->Body = '<h1 style="font-family: Arial;">HTML Text</h1>';
if(!$mail->send())
{
$mail->SMTPDebug = true;
echo "Mailer Error: " . $mail->ErrorInfo;
}
else
{
echo $success;
}
?>
有没有办法通过.htaccess设置SMTP详细信息?
答案 0 :(得分:3)
问题出在这里
$ mail-&gt; From =“abc-domain”;
它应该是有效的电子邮件,即使您的用户不是(这没关系,因为您只需要这里$ mail-&gt;用户名)