我如何使用C#在ASP.NET中发送html邮件?

时间:2012-12-05 09:21:54

标签: c# asp.net html email smtp

我有一个ASP.NET应用程序,它将数据添加到DataBase并从此数据库中获取数据。此应用程序用于创建到我们网络的访客连接。如果用户被添加到数据库并且Radius服务器给出了ok,那么用户将获得包含他的登录数据的电子邮件。用户名和密码。我想制作一个HTML邮件。但我不知道如何在ASP.NET中做到这一点,所以我阅读了一些关于它的教程,我找到了这个代码:

http://www.codeproject.com/Articles/12182/ASP-NET-Sending-mail-using-SMTP-in-HTML-format-us

这是我的代码:

 MailMessage mail = new MailMessage();
                mail.To = "<here is my company email>";
                mail.From = "test@domain.de";
                mail.BodyFormat = MailFormat.Html;
                mail.Subject = "testheader";
                mail.Body =
                    "<html><body><Table><tr><td>Hi,</td></tr><tr><td>Details of the Statistics :</td></tr></Table></body></html><html><body>" +
                    "sometext" +
                    "</body></html><html><body><Table><tr><td> </td></tr><tr><td>NOTE: This is an automated mail. Please, do not reply.</td></tr>" +
                    "<tr><td>*Green coloured rows indicates temporary demos</td></tr>" +
                    "<tr><td>**All statistics are based on the page naming conventions Eg., 22_10_2005_</td></tr>" +
                    "<tr><td> </td></tr><tr><td>Regards,</td></tr><tr><td>some text,</td></tr><tr><td>some text,</td></tr>" +
                    "<tr><td> Some text </td></tr></table></body></html>";

                SmtpMail.SmtpServer = "<smtp ip>";
                SmtpMail.Send(mail);

我尝试这个并得到错误:

The server rejected the sender address. The server response was: 530 5.7.1 Client not authenticated 

Ip是正确的,但我必须为经过验证的事情做些什么。我能做到这一点吗?

1 个答案:

答案 0 :(得分:2)

您必须在Web.config文件中配置SMTP server mailSettings

  <system.net >
    <mailSettings>
      <smtp deliveryMethod="Network" from="someaddress@classifiedspak.com">
        <network
        host="mail.classifiedspak.com"
        userName="someaddress@classifiedspak.com "
        password="*************"
        port="25" />
      </smtp>
    </mailSettings>
  </system.net>