C# 使用C在ASP.NET中发送电子邮件时出错#

C# 使用C在ASP.NET中发送电子邮件时出错#,c#,asp.net,email,C#,Asp.net,Email,这是发送电子邮件的代码,但在try块中出现错误: protected void Page_Load(object sender, EventArgs e) { EmailUtility email = new EmailUtility(); email.Email = new MailMessage(); string body = email.GetEmailTemplate(Server.MapPath("~/EmailTemplates"), "test.htm")

这是发送电子邮件的代码,但在
try
块中出现错误:

protected void Page_Load(object sender, EventArgs e)
{
    EmailUtility email = new EmailUtility();
    email.Email = new MailMessage();
    string body = email.GetEmailTemplate(Server.MapPath("~/EmailTemplates"), "test.htm");
    EmailMessageToken token = new EmailMessageToken();
    token.TokenName = "$Name$";
    token.TokenValue = "Ricky";
    EmailMessageTokens tokens = new EmailMessageTokens();
    tokens.Add(token);
    //av.LinkedResources.Add(lr);
    email.Email.Body = email.ReplaceTokens(body, tokens);
    email.Email.To.Add(new MailAddress("sahil4659@gmail.com"));
    email.Email.IsBodyHtml = true;
    email.Email.From = new MailAddress("sahil4659@gmail.com");
    email.Email.Subject = "Hello from bootcamp";
    email.SMTP.Host = ConfigurationManager.AppSettings["SMTPServer"];
    try
    {
        email.SMTP.Send(email.Email);
        Response.Write("Email sent !");
    }
    catch (Exception ex)
    {
        Response.Write(ex.StackTrace);
    }
}
错误是:

at System.Net.Mail.IisPickupDirectory.GetPickupDirectory()
at System.Net.Mail.SmtpClient.Send(MailMessage message)
at _Default.Page_Load(Object sender, EventArgs e) in c:\Users\Sahil\Desktop\Csharp Email Code(2)\Test website\EmailTest.aspx.cs:line 38

我将读懂您的想法,并假设您看到的是
System.Net.Mail.SmtpException:无法获取IIS接收目录。
google四处搜索,我看到您在web配置中需要的SMTP配置的引用。您的邮件服务器可能需要凭据,因此您可能需要以下内容:

<system.net>
    <mailSettings>
      <smtp from="fromaddress">
        <network defaultCredentials="true"
               host="smtpservername" port="smtpserverport" 
               userName="username" password="password"  />
      </smtp>
    </mailSettings>
</system.net>

。。。在您的web.config中。基本上,将web应用程序配置为能够与SMTP服务器通信


有关更多信息,请参阅此线程。

发布错误的完整内容(即
ex.ToString()
)将提高回答此问题的能力。什么是
EmailUtility
?似乎不是框架类。看起来您正在使用第三方库。在我们提供帮助之前,我们至少需要知道您正在使用什么。异常的类型及其消息也会很有帮助。很可能您没有在IIS上正确设置SMTP。@user459216:感谢您发布异常文本,但您错过了异常最重要的部分,即消息。