2016-12-30 107 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