asp.net发邮件的几种方法汇总

在ASP.NET中,发送邮件的方式有很多种,以下是几种常见的方法:

1、使用System.Net.Mail类

asp.net发邮件的几种方法汇总

System.Net.Mail是.NET框架中用于发送电子邮件的内置类,它提供了一个简单的API,可以方便地发送电子邮件,以下是使用System.Net.Mail类发送电子邮件的示例代码:

using System.Net;
using System.Net.Mail;
public void SendEmail()
{
    MailMessage mail = new MailMessage("发件人邮箱", "收件人邮箱");
    mail.Subject = "邮件主题";
    mail.Body = "邮件内容";
    mail.IsBodyHtml = true; //设置邮件内容为HTML格式
    SmtpClient smtp = new SmtpClient("SMTP服务器地址");
    smtp.Credentials = new NetworkCredential("发件人邮箱用户名", "发件人邮箱密码");
    smtp.EnableSsl = true; //启用SSL加密
    try
    {
        smtp.Send(mail);
        Console.WriteLine("邮件发送成功");
    }
    catch (Exception ex)
    {
        Console.WriteLine("邮件发送失败: " + ex.Message);
    }
}

2、使用WebMail控件

WebMail控件是一个功能强大的ASP.NET控件,可以方便地发送电子邮件,以下是使用WebMail控件发送电子邮件的示例代码:

asp.net发邮件的几种方法汇总

在页面上添加WebMail控件:

<asp:WebMail ID="WebMail1" runat="server"></asp:WebMail>

在后台代码中设置WebMail控件的属性,并调用Send方法发送电子邮件:

protected void Page_Load(object sender, EventArgs e)
{
    WebMail1.From = "发件人邮箱";
    WebMail1.To = "收件人邮箱";
    WebMail1.Subject = "邮件主题";
    WebMail1.BodyFormat = MailFormat.Html; //设置邮件内容为HTML格式
    WebMail1.Body = "邮件内容";
    WebMail1.IsBodyHtml = true; //设置邮件内容为HTML格式
    WebMail1.SmtpServer = "SMTP服务器地址";
    WebMail1.SmtpPort = 587; //设置SMTP服务器端口号
    WebMail1.UserName = "发件人邮箱用户名"; //设置发件人邮箱用户名
    WebMail1.Password = "发件人邮箱密码"; //设置发件人邮箱密码
    WebMail1.EnableSsl = true; //启用SSL加密
    WebMail1.Send(); //发送邮件
}

3、使用SendGrid类库

asp.net发邮件的几种方法汇总

SendGrid是一个流行的第三方电子邮件发送服务,提供了丰富的功能和强大的API,要在ASP.NET中使用SendGrid,首先需要安装SendGrid的NuGet包,可以使用SendGrid类的API发送电子邮件,以下是使用SendGrid类库发送电子邮件的示例代码:

using SendGrid;
using SendGrid.Helpers.Mail;
using System;
using System.Net;
using System.Text;
using System.Threading.Tasks;
public async Task SendEmailAsync()
{
    var apiKey = Environment.GetEnvironmentVariable("NAME_OF_THE_SENDGRID_API_KEY"); //从环境变量中获取SendGrid API密钥
    var client = new SendGridClient(apiKey);
    var msg = new SendGridMessage();
    msg.AddTo("收件人邮箱"); //添加收件人邮箱地址,可以添加多个收件人,用逗号分隔
    msg.From = new EmailAddress("发件人邮箱"); //设置发件人邮箱地址和名称
    msg.Subject = "邮件主题"; //设置邮件主题
    msg.PlainTextContent = "邮件内容"; //设置纯文本邮件内容,如果需要设置HTML格式的邮件内容,请使用HtmlContent属性替换PlainTextContent属性,并设置Content属性为HTML格式的字符串,msg.HtmlContent = "<body><h1>邮件标题</h1><p>邮件内容</p></body>";  																												//设置HTML格式的邮件内容,如果需要设置纯文本格式的邮件内容,请使用PlainTextContent属性替换HtmlContent属性,并设置Content属性为纯文本格式的字符串,msg.PlainTextContent = "这是一封纯文本格式的邮件";  									                                                                                                                                                                                                                                                                                                                                                                                                                msg.Content = "邮件内容"; //设置邮件内容,可以是纯文本格式或HTML格式的字符串,根据需要选择使用PlainTextContent属性或HtmlContent属性,msg.ContentEncoding = Encoding.UTF8; //设置邮件内容的编码方式,默认为UTF-8,msg.Headers = new Headers(); //设置邮件头信息,msg.Headers["X-SMTPAPI"] = new Header() { Names = { new string[] { "X-SMTPAPI" } }, Contents = new string[] { $"{{\"category\":\"email\"}}" } }; //设置X-SMTPAPI头信息,用于将此邮件标记为通过SendGrid API发送的电子邮件,msg.Attachments = new List<Attachment>(); //添加附件,msg.Attachments.Add(new Attachment() { ContentBytes = File.ReadAllBytes("附件文件路径"), Filename = "附件文件名", Disposition = Disposition."attachment", Type = MediaTypeNames."application" }); //添加附件,指定附件的文件路径、文件名、显示方式和类型,await client.SendEmailAsync(msg); //异步发送电子邮件,等待发送完成。}                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                           msg.AddTo("收件人邮箱"); //添加收件人邮箱地址,可以添加多个收件人,用逗号分隔,msg.From = new EmailAddress("发件人邮箱"); //设置发件人邮箱地址和名称,msg.Subject = "邮件主题"; //设置邮件主题,msg.PlainTextContent = "邮件内容"; //设置纯文本邮件内容,如果需要设置HTML格式的邮件内容,请使用HtmlContent属性替换PlainTextContent属性,并设置Content属性为HTML格式的字符串,msg.HtmlContent = "body><h1>邮件标题</h1><p>邮件内容</p></body>"; //设置HTML格式的邮件内容,如果需要设置纯文本格式的邮件内容,请使用PlainTextContent属性替换HtmlContent属性,并设置Content属性为纯文本格式的字符串,msg.PlainTextContent = "这是一封纯文本格式的邮件"; msg.Content = "邮件内容"; //设置邮件内容,可以是纯文本格式或HTML格式的字符串,根据需要选择使用PlainTextContent属性或HtmlContent属性,msg.ContentEncoding = Encoding.UTF8; //设置邮件内容的编码方式,默认为UTF-8,msg.Headers = new Headers(); //设置邮件头信息,msg.Headers["X-SMTPAPI"] = new Header() { Names = { new string[] { "X-SMTPAPI" } }, Contents = new string[] { $"{{\"category\":\"email\"}}" } }; //设置X-SMTPAPI头信息,用于将此邮件标记为通过SendGrid API发送的电子邮件,msg.Attachments = new List<Attachment>(); //添加附件,msg.Attachments

原创文章,作者:K-seo,如若转载,请注明出处:https://www.kdun.cn/ask/259257.html

(0)
K-seoK-seoSEO优化员
上一篇 2024年1月25日 02:38
下一篇 2024年1月25日 02:40

相关推荐

发表回复

您的电子邮箱地址不会被公开。 必填项已用*标注

免备案 高防CDN 无视CC/DDOS攻击 限时秒杀,10元即可体验  (专业解决各类攻击)>>点击进入