簡體   English   中英

PHP電子郵件在WIMP上失敗

[英]PHP emailing failing on WIMP

我有一個WordPress網站,其中包含一個聯系表單,該表單在我的MAMP環境中運行良好,但是當我向客戶端WIMP服務器發布內容時,出現了故障。

  • 我對WIMP環境一點都不熟悉-如何檢查PHP錯誤日志
  • 副手,是否會導致WIMP上的PHP電子郵件出現問題?

碼:

<?php 

if ($_POST["contact_name"]<>'') { 
    $ToEmail = 'me@domain.com'; 
    $EmailSubject = 'New contact message';  
    $mailheader = "From: ".$_POST["contact_email"]."\r\n";  
    $mailheader .= "Reply-To: ".$_POST["contact_email"]."\r\n"; 
    $mailheader .= "Content-type: text/html; charset=iso-8859-1\r\n";  
    $MESSAGE_BODY = "<b>Name:</b> ".$_POST["contact_name"]."<br>";  
    $MESSAGE_BODY .= "<b>Email:</b> ".$_POST["contact_email"]."<br>";
    mail($ToEmail, $EmailSubject, $MESSAGE_BODY, $mailheader) or die ("Failure"); 

?> 
<h4>Your message was sent. We will be in touch with you shortly.</h4>
<?php 
} else { 
<form id="contact-form" name="contact" method="post" action="#">
<label for="contact-name">Name *</label>
<input type="text" id="contact-name" name="contact_name" tabindex="1" class="required"/>
<label for="contact-email">Email</label>
<input type="text" id="contact-email" name="contact_email" tabindex="2" class="email" />
<input type="submit" id="contact-submit" name="contact_submit" value="" tabindex="8" />
</form>
<?php 
}; 
?>

Windows沒有像unix類型的OS往往具有的內置電子郵件服務器。 您需要配置php.ini以添加用於中繼電子郵件的SMTP服務器信息。

“ mail()”函數的PHP手冊頁詳細介紹了Windows特定的一些要點。 但是,可能會影響您的要點在本節中:(引用)

mail()的Windows實現與Unix實現在很多方面有所不同。 首先,它不使用本地二進制文件編寫消息,而僅在直接套接字上運行,這意味着需要在網絡套接字(可以在本地主機或遠程計算機上)上偵聽MTA。

其次,MTA不會首先解釋諸如From:,Cc:,Bcc:和Date:之類的自定義標頭,而是由PHP對其進行解析。

因此,to參數不應為"Something <someone@example.com>"形式的地址。 與MTA交談時,mail命令可能無法正確解析此命令。

還需要考慮其他一些事項。 請閱讀手冊頁了解更多信息。

希望能有所幫助。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM