2012-12-06 74 views
0

我收到了一個成功發送郵件給我的聯繫表。從我的帳戶發送郵件。不是虛擬主機

繼承人的摘錄:

$_POST['message'] = wordwrap($_POST['message'], 70); 
mail ('[email protected]', $_POST['subject'], $_POST['message'] , $_POST['email']); 
echo "<div class='registertext'>Your email was succesfully sent to a member of the administration team. Please wait 24 hours for as to reply and ensure you check your junk mail!<br />To login please click <a href='login.php'>here</a></div>"; 

我的問題是,電子郵件會從我的主機發送。不是我想要指定的電子郵件。我將如何克服這一點?

回答

0

您可以在電子郵件標題指定:

$recipient = "[email protected]"; 
    $from  = "[email protected]"; 
    $replyTo = "[email protected]"; 
    $subject = "Hi!"; 
    $text  = "<p>This is a test!<p>"; 

    $headers = "MIME-Version: 1.0\r\n" 
     ."Content-Type: text/html; charset=utf-8\r\n" 
     ."Content-Transfer-Encoding: 8bit\r\n" 
     ."From: =?UTF-8?B?". base64_encode([Your Name]) ."?= <$from>\r\n" 
     ."Reply-To: $replyTo\r\n" 
     ."X-Mailer: PHP/". phpversion(); 

    //send it! 
    if (mail($recipients, $subject, $text, $headers, "-f $from")){ 
     echo "sent"; 
     } else { 
      echo "did not send"; 
     }; 

,但有一個很好的機會,它會被抓到是垃圾郵件過濾器。在這種情況下,最好的辦法是使用一個處理SMTP電子郵件收發和使用您的實際帳戶發送郵件PHP郵件庫(有可以幫助您處理該幾個包:Pear Mail,並PHP Mailer除其他

+0

對不起......這就像我的第8天在PHP。這個垃圾郵件過濾器?ISIT,我的虛擬主機提供商的。也感謝您的輸入!管理學習了一下:) – lecardo

+0

收件人的電子郵件服務器可能會檢查黑名單中的傳入郵件,並且具有用於檢測垃圾郵件的算法,包括反向DNS查找來檢測發送服務器是否是該域的電子郵件的授權代理。 SMTP將使用您的實際電子郵件服務器通過「登錄」發送郵件併發送電子郵件(例如Outlook在配置SMTP服務器時執行的操作) –

0

你。可以利用這將使用SMTP帳戶PEAR郵件。這是從我的郵件形式一些代碼,我用

 $from = "Name <[email protected]>"; 
     $to = "Name <[email protected]>"; 
     $subject = "Subject"; 
     $body = 'A message!'; 

     $host = "ssl://domain.com"; 
     $port = "465"; 
     $username = "username"; 
     $password = "password"; 

     $headers = array ('From' => $from, 
          'To' => $to, 
          'Subject' => $subject); 
     $smtp = Mail::factory('smtp', 
           array ('host' => $host, 
            'port' => $port, 
            'auth' => true, 
            'username' => $username, 
            'password' => $password)); 

     $mail = $smtp->send($to, $headers, $body); 

     if (PEAR::isError($mail)) { 
      echo("<p>" . $mail->getMessage() . "</p>"); 
     } else { 
      echo("<p>Message successfully sent!</p>"); 
     } 
相關問題