發送電子郵件從IIS 7我使用Windows Server 2008 R2和IIS 7.5.7600 所以我已經安裝了SMTP服務,它正在運行。我已經測試了它的工作原理使用下面的PowerShell腳本:使用本地SMTP中繼
$emailFrom = "[email protected]"
$emailTo = "[email protected]"
$subject = "your subject"
$body = "your body"
$smtpServer = "your smtp server"
$smtp = new-object Net.Mail.SmtpClient($smtpServer)
$smtp.Send($emailFrom, $emailTo, $subject, $body)
電子郵件被使用「本地主機」發送作爲服務器。
然而,在配置WCF服務的web.config後:
<system.net>
<mailSettings>
<smtp deliveryMethod="Network" from="[email protected]">
<network
host="localhost"
port="25"
/>
</smtp>
</mailSettings>
</system.net>
我收到一般意義的錯誤時,我的代碼調用:
var mail = new MailMessage();
mail.To.Add("[email protected]");
mail.Subject = "[Smtp Client] TEST";
mail.Body = "TEST";
mail.IsBodyHtml = false;
var smtpMail = new SmtpClient();
smtpMail.Send(mail);
我得到:
Failure sending mail.
at System.Net.Mail.SmtpClient.Send(MailMessage message)
我不知道要檢查什麼?是的,我已經在服務器上安裝了應用程序服務器角色。是的,WCF服務工作正常,我所有的其他代碼按預期運行,只發送電子郵件失敗。似乎IIS和本地SMTP中繼之間有一些斷開關係,但我一直無法找到討論這個特定問題的任何事情(只有那些無法啓動和運行smtp或者無法理清其配置的人) 。
謝謝你的時間和關注。
所以我更加困惑。我創建了一個簡單的控制檯應用程序,並複製並粘貼電子郵件代碼。將exe複製到服務器並運行可執行文件,並運行併發送電子郵件。它似乎只是在IIS內,電子郵件失敗。 – Bitfiddler
好的,更多信息...如果我將代碼更改爲模擬域管理員,那麼WCF服務可以發送電子郵件。所以,儘管完全沒用的錯誤信息,它似乎是一個安全問題。現在到底什麼是安全問題?請繼續關注,或許明天對IIS的磚牆b tom will will,會讓事情變得更糟。 – Bitfiddler