C# 使用SmtpClient发送邮件时发送邮件异常失败
C#我正在尝试用以下代码发送邮件。操作系统是Windows2008服务器。SMTP已安装C# 使用SmtpClient发送邮件时发送邮件异常失败,c#,.net,C#,.net,C#我正在尝试用以下代码发送邮件。操作系统是Windows2008服务器。SMTP已安装 MailMessage message = new MailMessage(); string[] recipientslist = recipients.Split(';'); foreach (string recipient in recipientslist) { if (!
MailMessage message = new MailMessage();
string[] recipientslist = recipients.Split(';');
foreach (string recipient in recipientslist)
{
if (!String.IsNullOrEmpty(recipient))
{
System.Net.Mail.MailAddress mailAddress =
new System.Net.Mail.MailAddress(recipient);
message.To.Add(mailAddress.Address);
}
}
message.From = new MailAddress(sender);
message.Subject = subject;
message.Body = body;
SmtpClient smtpClient = new SmtpClient();
smtpClient.DeliveryMethod = SmtpDeliveryMethod.PickupDirectoryFromIis;
smtpClient.UseDefaultCredentials = true;
smtpClient.Send(message);
在web.config中
<system.net>
<mailSettings>
<smtp deliveryMethod="PickupDirectoryFromIis">
<network host="localhost" port="25" defaultCredentials="true" />
</smtp>
</mailSettings>
</system.net>
即使安装了smtp,
我遇到异常:发送邮件失败。
堆栈跟踪:在System.Net.Mail.SmtpClient.Send(邮件消息)
==========================================================================================
另一种情况是,未安装SMTP时,会出现异常无法获取IIS拾取目录
任何帮助都是值得赞赏的
感谢*strong text*这是一个防病毒程序,QH Exchange保护,干扰从应用程序发送邮件。请与您的系统管理员联系。如果您是系统管理员,您需要了解如何告诉Quick Heal的产品不要这样做。我得到了答案 默认IIS拾取目录需要权限。我刚刚添加了网络服务的权限并完成了 以下是发送邮件前应验证的检查表。。
谢谢这些片段没有多大帮助。。一些提示:您可以使用telnet连接到本地smtp吗?粘贴异常详细信息您的IIS用户是否具有对拾取目录的写入权限?另外,您是否尝试过使用网络传递方法而不是PickupDirectoryFromIis?@Osama:我可以使用telnet连接到本地smtp。异常不是信息性的“异常:发送邮件失败。堆栈跟踪:在System.Net.mail.SmtpClient.Send(邮件消息)的QH.ExchangeProtection.Util.CommonUtil.SendMail(字符串发送者、字符串接收者、字符串主题、字符串正文)”@JamieSee:我是c#和网络概念的新手。网络交付方法给出了相同的例外EAH,您如何知道安装了这个特定的程序?