2017-02-15 65 views
0

我有一個網站,並有一個聯繫表。我下面的代碼:Phpmailer不發送電子郵件在相同的域

$name = $_POST['name']; 
$email = $_POST['email']; 

$mail = new PHPMailer(true); 

if (!$mail->addAddress('[email protected]','email')) { 
    die('Invalid email address'); 
} 
$mail->isSMTP(); 
//$mail->SMTPAuth = true; 
$mail->SMTPDebug = 2; 
$mail->Host = 'localhost'; 
$mail->Subject = 'Subject'; 
$text = 'A mail...'; 
$mail->MsgHTML($text); 
$mail->SetFrom($email); 
//$mail->AddReplyTo($email,$name); 

if ($mail->Send()){ 

如果用戶輸入他/她的郵件ADRESS像「[email protected]」或「[email protected]」,發送電子郵件到address.But如果我輸入我的@ MYDOMAIN它說消息發送,但郵件沒有到達。我正在尋找2天,但找不到合適的解決方案。我也試過這個:

我懷疑$ mail-> addAddress('[email protected]','email'),並且我將收到的郵件轉發到[email protected]到了[email protected] 」。它也沒有發送。我幾乎嘗試了一切。我的MX記錄如下圖所示:

enter image description here

我應該更改這些設置或不?或者與其他問題?

我非常感謝任何幫助。

感謝興趣,PHPMailer的

+0

馬茲檢查郵件服務器的日誌 – software

回答

0

功能樣本發送電子郵件

你只需要改變路徑包括

和變化參數

function send_email($to, $subject, $message, $html = TRUE) 
{ 
    require_once APPPATH .'libraries/phpmailer/PHPMailerAutoload.php'; 

    $mail     = new PHPMailer; 

    $mail->isSMTP(); 

    $mail->SMTPDebug  = 0; 
    $mail->Debugoutput  = 'html'; 

    $mail->Host    = 'smtp.gmail.com'; 
    $mail->SMTPAuth   = true; 
    $mail->Username   = '[email protected]'; 
    $mail->Password   = 'password'; 
    $mail->SMTPSecure  = 'tls'; 
    $mail->Port    = 587; 

    $mail->isHTML($html); 
    $mail->charSet   = 'UTF-8'; 


    $from = '[email protected]'; 

    $mail->setFrom($from, 'no-reply'); 
    $mail->addAddress($to, 'Information'); 

    $mail->Subject   = '=?UTF-8?B?'.base64_encode($subject).'?='; 
    $mail->Body    = $message; 
    $mail->AltBody   = ''; 

    if($mail->send()) 
    { 
     return TRUE; 
    } 

    return FALSE; 
} 

或樣本:This example shows sending a message using PHP's mail() function

+0

感謝評論,但我沒有使用Gmail SMTP,我使用GoDaddy的託管和他們的電子郵件服務器。 –

+0

是的,你改變參數的PHPMailer(主機,SMTPSecure,端口,用戶名,密碼......) – Mohammad

+0

我的代碼已經工作代碼,所以我需要我爲什麼不能在同一個域地址發送電子郵件的一些想法。 –

0

是你使用cpa nel與godaddy託管?我不知道這是「cpanel無處不在」,還是隻是在godaddy,但進入你的cPanel並尋找一個名爲「MX Entry」的東西,然後將其從本地更改爲遠程。當地告訴服務器「我們是這個領域,我們這裏有這個的cPanel郵件引擎」,以及遠程告訴它「此域的電子郵件的cPanel之外處理」 ...您的MX記錄告訴我你使用工作區電子郵件,因此你需要MX記錄到遠程:)

相關問題