2011-10-11 73 views
2

我在我的網站上設置了一個簡單的表單,用於測試使用PHP發送電子郵件。當域名由Media Temple主辦,電子郵件由domains.live.com託管時,用PHP發送電子郵件

形式帖子三個文本字段中輸入電子郵件形式-process.php,它看起來像這樣:

<?php 

    $email = $_POST['email']; 

    $subject = "Test Email Worked"; 

    $msg = $_POST['comment']; 

    mail ('$email','$subject','$msg'); 

    header('Location: email-form-confirm.php'); 
    exit(); 

?> 

我在測試呼應了三個輸入以確保電子郵件的形式 - process.php從窗體接收它們,它是。

我遇到的問題是電子郵件沒有收到我的任何電子郵件。我已經測試了它將發送到@ live.com電子郵件以及由domains.live.com託管的兩個自定義域。

我使用domains.live.com爲我的網站託管我的所有電子郵件。我通過我的主機MediaTemple爲domains.live.com處理我的電子郵件。這對於定期發送電子郵件非常有用,但我不確定使用由domains.live.com託管的自定義域電子郵件以PHP發送電子郵件的最佳方式。

當我的域名由MediaTemple託管,我的電子郵件由domains.live.com託管時,如何通過PHP從[email protected]發送電子郵件?

我還沒有嘗試過使用SMTP方法。在下面的鏈接中找到的解決方案對我來說是一個好方向嗎? http://www.9lessons.info/2009/10/send-mail-using-smtp-and-php.html

非常感謝您提供任何幫助!

馬克

+1

您是否問過MT的支持,如果他們有sendmail的設置和配置?如果是這樣,您應該可以從任何電子郵件域發送郵件。事實上,'phpinfo()'應該能夠告訴你它是否可用。 –

+0

另外,如果該PHP頁面沒有以某種方式受到保護(用戶必須登錄),則可能會有垃圾郵件腳本等待發生。 –

+0

謝謝Jared。我檢查了phpinfo()和sendmail_form'沒有值',並且sendmail_path確實有路徑。 SMTP也被設置爲'localhost'。我應該尋找什麼?當我聯繫MediaTemple時,我應該問他們什麼?再次感謝! –

回答

0

由於Live託管電子郵件,它可能會阻止/立即向垃圾郵件文件夾發送來的電子郵件。您的網絡服務器擁有與實時電子郵件服務器不同的IP,因此它可能認爲它發送的是虛假電子郵件。

你可能也想看看sendgrid;他們將您的服務器IP置於白名單中,您的電子郵件將完全通過。

希望這會有所幫助!

+0

謝謝埃裏克。在我尋找一個好的整體解決方案時,我會記住sendgrid。 –

0

你可以使用像PHPMailer這樣的東西,使它更容易使用SMTP郵件。無論如何,使用PHP中的內置郵件命令無疑是一個更好的解決方案,因爲PHPMailer爲您提供更好的附件處理,收件人處理等功能,而無需編寫自己的頭文件通過郵件功能發送。

您也可以從MediaTemple的服務器發送,並將主機名稱設置爲您的域名。儘管垃圾郵件過濾器會注意到這一點,但它不必與MX記錄相匹配,因此您需要至少爲SenderID和SPF配置域,以便MediaTemple主機被視爲您域的有效電子郵件發件人。

相關問題