如何在 C# 中对 SMTP 进行身份验证 [英] How can I make SMTP authenticated in C#

查看:50
本文介绍了如何在 C# 中对 SMTP 进行身份验证的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我创建了使用 SMTP 发送消息的新 ASP.NET Web 应用程序.问题是 smtp 未从发送消息的人处进行身份验证.

I create new ASP.NET web application that use SMTP to send message. The problem is the smtp was not authenticated from who send the message.

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

How can I make SMTP authenticated in my program? does C# have a class that have attribute for enter username and password?

推荐答案

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);
        }
    }
}

您可以使用上面的代码.

You may use the above code.

这篇关于如何在 C# 中对 SMTP 进行身份验证的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆