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日

相关文章

  • .net core并发请求发送HttpWebRequest的坑解决

    针对“.net core并发请求发送HttpWebRequest的坑解决”这个问题,我们可以进行以下操作: 问题描述 在使用.NET Core进行并发请求发送HttpWebRequest时,会出现一些并发请求异常和内存泄漏等问题。但是究竟是什么原因导致的呢?以下是一些原因的总结: HttpWebRequest与KeepAlive的冲突。 缺少正确的限制请求并…

    C# 2023年6月3日
    00
  • C# zxing二维码写入的实例代码

    C# zxing是一个用于二维码的开源框架,它支持二维码的读取、生成,可用于各种应用场景,例如电子商务、物流信息追踪等。下面是C# zxing二维码写入的实例代码攻略: 1. 安装zxing库 首先需要安装zxing库,你可以从nuget包管理器中搜索zxing来安装。 2. 创建二维码编码器 BarcodeWriter writer = new Barco…

    C# 2023年5月31日
    00
  • WCF中使用nettcp协议进行通讯的方法

    下面是关于“WCF中使用nettcp协议进行通讯的方法”的完整攻略,包含两个示例。 1. 什么是nettcp协议 nettcp协议是一种用于WCF通信的传输协议。nettcp协议是一种高性能、可靠的协议,适用于在同一局域网内的通信。nettcp协议使用二进制编码,可以提高通信效率。 2. 配置WCF服务使用nettcp协议 以下是配置WCF服务使用nettc…

    C# 2023年5月15日
    00
  • C# Request.Form用法案例详解

    C# Request.Form用法案例详解 简介 Request对象是ASP.NET Web应用程序中的内置对象,用于在Web服务器上处理HTTP请求。其中,Request.Form是一个集合,用于获取HTTP POST的表单值。Request.Form的用法非常简单,可以通过指定表单控件的名称来获取该表单控件的值。 使用方法 //获取提交表单值 strin…

    C# 2023年6月1日
    00
  • 解析C#编程的通用结构和程序书写格式规范

    解析C#编程的通用结构和程序书写格式规范 通用结构 C#程序通常包括以下部分: using System; // 引用命名空间 public class MyClass // 定义类 { static void Main() // 主方法 { // 代码块 } } using语句引用需要使用的命名空间。 public class定义一个公共的类。 Main方…

    C# 2023年5月15日
    00
  • 举例讲解C#编程中委托的实例化使用

    下面是关于C#编程中委托的实例化使用的详细攻略: 什么是委托? 委托是一种能够存储对方法的引用的数据类型。在C#中,委托用于实现事件和回调函数,允许在程序运行时动态地将方法传递给其他方法作为参数。委托可以让C#编写者以更加灵活的方式处理事件和回调。 委托的实例化 在C#中,委托的实例化可以使用delegate关键字,指定委托类型、关联的方法名和该方法所在的对…

    C# 2023年5月31日
    00
  • c# 遍历 Dictionary的四种方式

    在C#中,Dictionary是一种常用的数据结构,它提供了一种键值对的映射关系。在本文中,我们将介绍四种遍历Dictionary的方式,并提供两个示例说明。 示例一:创建一个Dictionary 在这个示例中,我们将创建一个Dictionary,其中包含一些键值对。 using System; using System.Collections.Generi…

    C# 2023年5月17日
    00
  • C#中的==运算符用法讲解

    下面是关于“C#中的==运算符用法讲解”的完整攻略。 1. 介绍 ==运算符是用于比较两个值是否相等的运算符,可以用于比较数值、字符、字符串等类型的数据。在C#中,==运算符是值类型和引用类型的比较符。 2. 值类型比较 对于值类型,使用==运算符比较时,比较的是它们的值是否相等。 例如,以下示例代码演示了如何比较两个整数是否相等: int a = 1; i…

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