2016-12-30 87 views
1

我想从我的php表单发送邮件。最初我曾使用PHP邮件功能,它工作正常。但是我最近将我的服务器从Windows移到了强制使用SMTP的Linux。我没有获得访问php.ini文件。因此我使用phpMailer函数。但是当我使用PHPMailer的,它给了我下面的错误带有SMTP详细信息的PHPMailer

Invalid address: (punyEncode) abc-domain Mailer Error: Invalid address: (punyEncode) abc-domain.

我的用户名不是我的邮件地址即[email protected]但ABC域。这是我的代码。我在名为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("[email protected]", "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细节?

回答

3

问题就在这里

$ mail-> From =“abc-domain”;

这应该是一个有效的电子邮件,即使你的用户是不是(这是确定的,因为你只需要在这里$ MAIL->用户名)

+0

感谢萨穆埃尔。你救了我:)它的作品。 – Rajesh