[英]php mail() function and IIS
我已經用PHP編寫了一個網站。 我們的客戶將站點部署到IIS。 他們安裝了PHP 5.2,但mail()
函數在其服務器上不起作用。
他們在www文件夾中添加了此配置文件:
web.config:
<configuration>
<system.webServer>
<handlers>
<remove name="PHP- fastcgi" />
<add name="PHP - FastCGI" path="*.php" verb="*"
modules="FastCgiModule"
scriptProcessor="C:\Php\php-cgi.exe" resourceType="Unspecified" />
</handlers>
<defaultDocument>
<files>
<add value="default.php" />
<add value="index.php" />
</files>
</defaultDocument>
</system.webServer>
</configuration>
mail()
函數生成以下錯誤:
server error - 500 - Internal server error.
There is a problem with the resource you are looking for, and it cannot be displayed.
我知道必須有一個簡單的解決方案,即編輯php.ini
文件。 但是負責人說,他們無法編輯php.ini
,我們必須使用ASP對聯系頁面進行編碼。
在這種情況下,有什么方法可以使用php發送郵件嗎?
Windows上的PHP 5.2中的mail()
函數中存在一個長期存在的錯誤:
mail()
函數錯誤地分析了From:
頭,並且行為表現最佳的RFC兼容郵件服務器將拒絕它為無效地址。
現在,此問題已在PHP 5.2.11+中修復(我已經在PHP 5.2.14,PHP 5.2.17和PHP 5.3.6中對此進行了測試)。 因此,我將找出您的應用程序在其下運行的PHP 5.2.x的確切版本,並查看它是否受此錯誤影響。
但是,我建議改用SwiftMailer 。 您可以對諸如配置外發郵件服務器,身份驗證之類的東西進行更多控制,並且它不依賴於使用內置的mail()
函數。 我們有幾個客戶在我們的共享托管平台上使用它,他們對此感到非常滿意。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.