带有SMTP详细信息的PHPMailer

时间:2016-12-30 05:55:28

标签: php .htaccess phpmailer

我想从我的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详细信息?

1 个答案:

答案 0 :(得分:3)

问题出在这里

$ mail-&gt; From =“abc-domain”;

它应该是有效的电子邮件,即使您的用户不是(这没关系,因为您只需要这里$ mail-&gt;用户名)