发送电子邮件从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