C# 使用本地SMTP分拣目录时出错
我正在使用以下代码配置SMTPClient以使用本地目录: EmailHelper.csC# 使用本地SMTP分拣目录时出错,c#,email,smtpclient,C#,Email,Smtpclient,我正在使用以下代码配置SMTPClient以使用本地目录: EmailHelper.cs public bool SendMail(string from, string to, string cc, string subject, string body, bool isBodyHtml) { try { var smtpClient = new SmtpClient();
public bool SendMail(string from, string to, string cc, string subject, string body, bool isBodyHtml)
{
try
{
var smtpClient = new SmtpClient();
string pickUpFolder = @"C:\Users\kerem\Documents\Visual Studio 2012\Projects\Blog\Blog\Email";
smtpClient.DeliveryMethod = SmtpDeliveryMethod.SpecifiedPickupDirectory;
Configuration configurationFile = System.Web.Configuration.WebConfigurationManager.OpenWebConfiguration(HttpContext.Current.Request.ApplicationPath);
MailSettingsSectionGroup mailSettings = configurationFile.GetSectionGroup("system.net/mailSettings") as MailSettingsSectionGroup;
if (mailSettings != null)
{
pickUpFolder = mailSettings.Smtp.SpecifiedPickupDirectory.PickupDirectoryLocation;
smtpClient.PickupDirectoryLocation = pickUpFolder;
}
System.Net.Mail.MailMessage mailMessage = new System.Net.Mail.MailMessage();
mailMessage.From = new MailAddress(from);
mailMessage.To.Add(new MailAddress(to));
if (cc != "")
mailMessage.CC.Add(new MailAddress(cc));
mailMessage.Subject = subject;
mailMessage.Body = body;
mailMessage.IsBodyHtml = true;
smtpClient.Send(mailMessage);
return true;
}
catch (Exception err)
{
return false;
}
}
我的博客解决方案中的BlogServices项目中的EmailHelper.cs。同样的解决方案中还有一个博客项目。我已经用
Blog\Email
和Blog\BlogServices\Email
替换了pickUpFolder
中的Blog\Blog\Email
,但我仍然有一个错误,即皮卡目录只允许绝对目录。我的错在哪里?提前感谢。将此添加到项目的web.config
<system.net>
<mailSettings>
<smtp deliveryMethod="SpecifiedPickupDirectory">
<specifiedPickupDirectory pickupDirectoryLocation="C:\Users\kerem\Documents\Visual Studio 2012\Projects\Blog\Blog\Email\"/>
</smtp>
</mailSettings>
</system.net>
或者,尝试删除此行:
pickUpFolder=mailSettings.Smtp.SpecifiedPickupDirectory.PickupDirectoryLocation
,但我怀疑如果你这样做,你会有其他问题。你能发布你的web.config的system.net/mailSettings
部分吗?这是一个节省程序。它解决了我的问题。另外,不要将“s”和“s”放在“mailSettings”中,否则它将不起作用。很好的解决方案这解决了为开发环境或测试环境设置真正smtp服务器的需要