一尘不染

如何在C#中对SMTP进行身份验证

c#

我创建使用SMTP发送消息的新ASP.NET Web应用程序。问题是smtp未被发送邮件的人验证。

如何在程序中对SMTP进行身份验证?C#是否具有一个具有用于输入用户名和密码的属性的类?


阅读 366

收藏
2020-05-19

共1个答案

一尘不染

using System.Net;
using System.Net.Mail;

using(SmtpClient smtpClient = new SmtpClient())
{
    var basicCredential = new NetworkCredential("username", "password"); 
    using(MailMessage message = new MailMessage())
    {
        MailAddress fromAddress = new MailAddress("from@yourdomain.com");

        smtpClient.Host = "mail.mydomain.com";
        smtpClient.UseDefaultCredentials = false;
        smtpClient.Credentials = basicCredential;

        message.From = fromAddress;
        message.Subject = "your subject";
        // Set IsBodyHtml to true means you can send HTML email.
        message.IsBodyHtml = true;
        message.Body = "<h1>your message body</h1>";
        message.To.Add("to@anydomain.com");

        try
        {
            smtpClient.Send(message);
        }
        catch(Exception ex)
        {
            //Error, could not send the message
            Response.Write(ex.Message);
        }
    }
}

您可以使用上面的代码。

2020-05-19