c# 实现发送邮件到指定邮箱

C#实现发送邮件到指定邮箱的攻略可以分为以下几个步骤:

  1. 导入命名空间

在C#中,我们需要使用System.Net.Mail这个命名空间来实现邮件发送功能,因此需要在开头添加该命名空间的引用。

using System.Net.Mail;
  1. 配置SMTP服务器信息

在使用C#发送邮件前,我们需要先配置SMTP服务器的相关信息,包括SMTP服务器地址、端口号、用户名、密码等。

SmtpClient smtp = new SmtpClient();
smtp.Host = "smtp.163.com"; // 邮件服务器地址
smtp.Port = 25; // 邮件服务器端口
smtp.UseDefaultCredentials = true; // 是否使用默认凭证
smtp.DeliveryMethod = SmtpDeliveryMethod.Network; // 邮件发送模式
smtp.Credentials = new System.Net.NetworkCredential("用户名", "密码"); // 邮箱登录信息
  1. 创建邮件对象

在发送邮件前,需要先创建邮件对象,包括邮件的收件人、发件人、主题、内容等信息。

MailMessage mail = new MailMessage();
mail.From = new MailAddress("发件人邮箱");
mail.To.Add("收件人邮箱");
mail.Subject = "邮件主题";
mail.Body = "邮件内容";
mail.IsBodyHtml = true; // 邮件内容是否为Html格式
  1. 添加附件(可选)

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

Attachment attachment = new Attachment(@"附件路径");
mail.Attachments.Add(attachment);
  1. 发送邮件

发送邮件可以使用SmtpClient类的Send方法来实现。

smtp.Send(mail);

下面是一个完整的代码示例,它实现了调用C#发送一封邮件到指定邮箱的功能:

using System;
using System.Net.Mail;

namespace MyNamespace
{
    class Program
    {
        static void Main(string[] args)
        {
            try
            {
                // 初始化SMTP服务器信息
                SmtpClient smtp = new SmtpClient();
                smtp.Host = "smtp.163.com";
                smtp.Port = 25;
                smtp.UseDefaultCredentials = true;
                smtp.DeliveryMethod = SmtpDeliveryMethod.Network;
                smtp.Credentials = new System.Net.NetworkCredential("发件人邮箱", "发件人邮箱密码");

                // 创建邮件对象
                MailMessage mail = new MailMessage();
                mail.From = new MailAddress("发件人邮箱");
                mail.To.Add("收件人邮箱");
                mail.Subject = "邮件主题";
                mail.Body = "邮件内容";
                mail.IsBodyHtml = true;

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

                // 发送邮件
                smtp.Send(mail);

                Console.WriteLine("邮件发送成功!");
            }
            catch (Exception ex)
            {
                Console.WriteLine("发送邮件时发生错误:" + ex.Message);
            }
            Console.ReadKey();
        }
    }
}

另外,如果你想要发送简单的文本邮件,可以使用下面的示例代码:

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

namespace MyNamespace
{
    class Program
    {
        static void Main(string[] args)
        {
            try
            {
                // 初始化SMTP服务器信息
                SmtpClient smtp = new SmtpClient();
                smtp.Host = "smtp.163.com";
                smtp.Port = 25;
                smtp.UseDefaultCredentials = true;
                smtp.DeliveryMethod = SmtpDeliveryMethod.Network;
                smtp.Credentials = new System.Net.NetworkCredential("发件人邮箱", "发件人邮箱密码");

                // 创建邮件对象
                MailMessage mail = new MailMessage();
                mail.From = new MailAddress("发件人邮箱");
                mail.To.Add("收件人邮箱");
                mail.Subject = "邮件主题";
                mail.Body = "邮件内容";

                // 发送邮件
                smtp.Send(mail);

                Console.WriteLine("邮件发送成功!");
            }
            catch (Exception ex)
            {
                Console.WriteLine("发送邮件时发生错误:" + ex.Message);
            }
            Console.ReadKey();
        }
    }
}

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:c# 实现发送邮件到指定邮箱 - Python技术站

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

相关文章

  • c# 获取CookieContainer的所有cookies函数代码

    下面我就为您详细讲解“c# 获取CookieContainer的所有cookies函数代码”的完整攻略。 1. 什么是CookieContainer? CookieContainer类是System.Net命名空间下的一个类,用于管理网站的Cookie信息,其中包含了多个Cookie对象。在C#编程中,我们可以通过对CookieContainer类的操作实现…

    C# 2023年5月31日
    00
  • 暖暖环游世界英国区域2全S通关攻略

    “暖暖环游世界英国区域2全S通关攻略” 关卡目标 本次攻略的目标是全S通关“暖暖环游世界”游戏英国区域2的所有关卡。 关卡难度 本局游戏中的关卡难度为中等偏难,需要对时装、饰品、属性进行专业的搭配和选择。建议玩家在攻略前提前准备好自己的装备。 关卡要求 为了全S通关英国区域2中的各个关卡,玩家需要遵循以下搭配要求: 穿戴英国传统服装过关; 上妆时面部构造需要…

    C# 2023年5月31日
    00
  • C#中使用闭包与意想不到的坑详解

    C#中使用闭包与意想不到的坑详解 什么是闭包 在C#中,闭包是一个由函数和与其相关的引用环境组合而成的实体。具体地说,闭包函数可以访问其定义域之外的变量,即自由变量,这些变量与函数一同存在于一个闭包里。 C#中闭包的使用 C#中,使用闭包可以方便地共享变量和保持状态。例如下面的代码: public Action GetClosureAction() { va…

    C# 2023年6月6日
    00
  • Redis数据库基础与ASP.NET Core缓存实现

    Redis数据库基础与ASP.NET Core缓存实现 Redis是一种高性能的键值存储数据库,常用于缓存、消息队列、会话管理等场景。本攻略将介绍Redis数据库的基础知识,并演示如何在ASP.NET Core应用程序中使用Redis作为缓存。 Redis数据库基础 安装Redis 在使用Redis之前,需要先安装Redis。可以使用以下命令在Ubuntu上…

    C# 2023年5月17日
    00
  • asp.net core标签助手的高级用法TagHelper+Form

    ASP.NET Core标签助手的高级用法TagHelper+Form攻略 本攻略将介绍如何使用ASP.NET Core标签助手的高级用法TagHelper+Form,包括如何创建自定义标签助手和如何使用标签助手来生成表单。本攻略将提供详细的步骤和示例说明,以帮助您快速入门ASP.NET Core标签助手的高级用法。 步骤 步骤1:创建一个新的ASP.NET…

    C# 2023年5月17日
    00
  • java根据不同的参数调用不同的实现类操作

    要实现根据不同的参数调用不同的实现类操作,我们可以使用工厂模式来解决。 工厂模式 工厂模式是一种创建型设计模式,用于创建对象,而无需指定将使用哪个类来创建对象。它定义一个接口或抽象类,其实现类或子类来决定要实例化的类。这使得我们可以将对象的实例化延迟到子类中进行。在工厂模式中,客户端不用关心产品是如何创建的,只关心需要什么产品。工厂模式的主要优点是它具有很高…

    C# 2023年6月1日
    00
  • C#处理MySql多个返回集的方法

    下面是关于“C#处理MySql多个返回集的方法”的完整攻略: 目录 什么是多个返回集 处理多个返回集的方法 示例介绍 示例1:使用MySqlDataReader.NextResult方法读取多个返回集 示例2:使用DataSet类读取多个返回集 总结 什么是多个返回集 在使用MySql数据库时,有时一个存储过程或者一个查询语句可能会返回多个数据集,这就是多个…

    C# 2023年5月31日
    00
  • C#操作SQLite数据库之读写数据库的方法

    C#操作SQLite数据库之读写数据库的方法 SQLite简介 SQLite是一款轻型、自包含且无需服务器的SQL数据库引擎,支持大部分的SQL标准,其数据存储在单个磁盘文件中,并使用标准的SQL查询语句进行访问。因此,SQLite具有许多优点,如具有跨平台跨语言访问、开源、简单易用、占用空间小、速度快等等。因此,SQLite是很多开发人员的首选数据库。 C…

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