C#中发送邮件代码

让我们来详细讲解一下C#中发送邮件代码的完整攻略吧。

1.准备工作

在C#中发送邮件,需要使用到SmtpClient类和MailMessage类,它们位于命名空间System.Net.Mail中,所以需要先在代码中导入该命名空间。

using System.Net.Mail;

2.发送邮件

2.1 简单邮件

下面我们通过一个简单的例子来演示如何使用C#发送一封邮件:

 string from = "发件人邮箱地址";
            string to = "收件人邮箱地址";
            string subject = "邮件主题";
            string body = "邮件正文";

            SmtpClient client = new SmtpClient("smtp.163.com", 25); //设置邮件服务器和端口号
            client.EnableSsl = true; //开启SSL加密连接
            client.UseDefaultCredentials = false; //不使用默认凭据

            //设置用户名和密码,用于发送邮件
            client.Credentials = new NetworkCredential("发件人邮箱账号", "发件人邮箱密码");

            MailMessage mailMessage = new MailMessage(from, to, subject, body);
            mailMessage.IsBodyHtml = false; //设置邮件正文是否为HTML格式
            mailMessage.Priority = MailPriority.Normal; //设置邮件的优先级

            try
            {
                client.Send(mailMessage); //发送邮件
                Console.WriteLine("邮件发送成功");
            }
            catch (Exception ex)
            {
                Console.WriteLine(ex.Message);
            }

2.2 包含附件的邮件

如果需要在邮件中添加附件,可以使用MailMessage类中的Attachments属性来实现。例如:

 string from = "发件人邮箱地址";
            string to = "收件人邮箱地址";
            string subject = "邮件主题";
            string body = "邮件正文";

            SmtpClient client = new SmtpClient("smtp.163.com", 25); //设置邮件服务器和端口号
            client.EnableSsl = true; //开启SSL加密连接
            client.UseDefaultCredentials = false; //不使用默认凭据

            //设置用户名和密码,用于发送邮件
            client.Credentials = new NetworkCredential("发件人邮箱账号", "发件人邮箱密码");

            MailMessage mailMessage = new MailMessage();
            mailMessage.From = new MailAddress(from);
            mailMessage.To.Add(new MailAddress(to));
            mailMessage.Subject = subject;
            mailMessage.Body = body;
            mailMessage.IsBodyHtml = false; //设置邮件正文是否为HTML格式
            mailMessage.Priority = MailPriority.Normal; //设置邮件的优先级

            //添加附件
            Attachment attachment = new Attachment("附件路径");
            mailMessage.Attachments.Add(attachment);

            try
            {
                client.Send(mailMessage); //发送邮件
                Console.WriteLine("邮件发送成功");
            }
            catch (Exception ex)
            {
                Console.WriteLine(ex.Message);
            }

3.总结

使用C#发送邮件代码较为简单,只需要根据需求设置好SmtpClient类和MailMessage类的属性即可。如果需要添加附件,可以使用MailMessage类中的Attachments属性进行操作。希望以上内容能对你有所帮助。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:C#中发送邮件代码 - Python技术站

(0)
上一篇 2023年6月7日
下一篇 2023年6月7日

相关文章

  • C#华氏温度和摄氏温度相互转换的方法

    下面是关于C#华氏温度和摄氏温度相互转换的方法的完整攻略。 一、思路 要实现华氏温度和摄氏温度相互转换,需要明确两者之间的计算公式,常用的公式如下: 摄氏度转华氏度公式:F = C x 1.8 + 32 华氏度转摄氏度公式:C = (F – 32) / 1.8 因此,无论是将摄氏度转换为华氏度,还是将华氏度转换为摄氏度,都可以依据上述公式来实现。在具体的实现…

    C# 2023年5月31日
    00
  • 关于c#连接ftp进行上传下载实现原理及代码

    关于c#连接ftp进行上传下载实现原理及代码,我可以提供以下攻略: 一、FTP协议简介 FTP(File Transfer Protocol)即文件传输协议,它是一种用于文件传输的标准协议,常用于网站维护、文件备份等场景。FTP协议有两个部分:FTP客户端和FTP服务器,FTP客户端通过FTP协议连接到FTP服务器,进行文件上传、下载、删除等操作。 二、C#…

    C# 2023年6月1日
    00
  • 基于C#解决库存扣减及订单创建时防止并发死锁的问题

    首先需要明确的是,在高并发情况下,库存扣减和订单创建操作可能会引发数据不一致的问题,例如出现超卖的情况。为了避免发生这种情况,需要对库存扣减及订单创建进行并发控制。 在C#平台下,可以利用锁机制来进行并发控制。具体实现方式如下: 对库存扣减与订单创建的关键代码块(例如数据库操作)加锁,确保同时只有一个线程能够访问该关键代码块。这可以使用C#语言中的lock关…

    C# 2023年5月14日
    00
  • c#入门之类型转换详解

    C#入门之类型转换详解 前言 在程序开发过程中,类型转换是非常常见的操作。在C#中,我们一般使用类型转换符或者Convert类进行类型转换。 本文将介绍C#中常见的类型转换及其使用方法。 类型转换符 类型转换符可以理解为将一个数据类型转换为另一个数据类型的方法,C#中的常用类型转换符如下: +:将非字符串类型转换为字符串类型 -:将整型类型转换为负数 *:将…

    C# 2023年6月6日
    00
  • C#通过oledb访问access数据库的方法

    C#通过oledb访问access数据库的完整攻略 简介 在C#中,我们可以使用OLE DB提供程序来访问基于 OLE DB 的数据库。Microsoft Access是OLE DB的支持者之一,因此我们可以使用OLE DB连接器来访问Microsoft Access数据库。这篇攻略将向您介绍如何通过OLE DB访问Access数据库。 步骤 以下是访问Ac…

    C# 2023年6月2日
    00
  • asp.net 纯真ip库取得所在地实现代码

    下面我们来详细讲解如何实现“ASP.NET纯真ip库取得所在地实现代码”。 步骤一:下载纯真IP库 首先需要下载纯真IP库,可以在纯真IP数据库官网或者其他网站下载。下载完成后,解压缩得到一个.dat格式的文件。 步骤二:将IP库文件复制到项目中 将从官网上下载的IP库文件复制到项目中,推荐将此文件存放在项目下的/App_Data目录下。 步骤三:编写代码实…

    C# 2023年5月31日
    00
  • 基于C#中IDisposable与IEnumerable、IEnumerator的应用

    接下来我将详细讲解基于C#中IDisposable与IEnumerable、IEnumerator的应用,包括它的概念、用处及实际应用等相关知识。 一、IDisposable 在C#中,IDisposable是一个接口,它定义了一种机制,用于释放非托管资源以及可选地释放托管资源。一个类通过实现IDisposable接口,并提供Dispose方法来实现资源的释…

    C# 2023年5月15日
    00
  • C#实现多线程写入同一个文件的方法

    实现多线程写入同一文件的方法可以使用C#中的StreamWriter类和Mutex类。StreamWriter类可以实现文本文件的写操作,而Mutex类则可以实现多个线程对同一文件进行互斥访问,从而避免写入冲突。 以下是具体的步骤: 步骤1:创建StreamWriter对象 首先我们需要创建一个StreamWriter对象,指定需要写入的文件路径和编码方式。…

    C# 2023年6月1日
    00
合作推广
合作推广
分享本页
返回顶部