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日

相关文章

  • Redis总结笔记(二):C#连接Redis简单例子

    这篇文章是讲解如何在C#中连接Redis数据库,并进行简单的操作。文章会包含以下几个部分: 环境准备 Nuget安装Redis库 Redis连接与配置 Redis常用操作示例 1. 环境准备 在C#中连接Redis之前,需要确保本地已经安装好了Redis数据库,并且正在运行。可在Redis官网下载安装Redis,也可以下载Redis Desktop Mana…

    C# 2023年5月31日
    00
  • asp.net实现Gradview绑定数据库数据并导出Excel的方法

    实现Gradview绑定数据库数据并导出Excel的方法,可以分为以下几个步骤: 步骤一:创建ASP.NET Web应用程序 在Visual Studio中新建一个Web Application项目,选择ASP.NET Web应用程序模板,设置名称和位置,并点击创建按钮。 步骤二:创建数据库及表 在SQL Server中新建一个数据库,设置名称和位置,并点击…

    C# 2023年5月31日
    00
  • Unity实现俄罗斯方块(二)

    Unity实现俄罗斯方块(二)攻略 1. 前言 在上一篇文章《Unity实现俄罗斯方块(一)》中,我们实现了俄罗斯方块游戏的基本框架,包括生成指定形状的方块、方块下落、方块旋转、消行等基本功能。接下来,我们在这个基础上,继续实现俄罗斯方块游戏的其他功能,包括左右移动和加速下落。 下面,我们就一步一步来详细讲解如何实现这些功能。 2. 左右移动 在俄罗斯方块游…

    C# 2023年6月1日
    00
  • c# 成员类型访问权限低于字段本身的实现

    首先,需要理解C#语言中成员类型的访问权限。 C#语言给成员类型(包括类、结构体、枚举、接口等)能够设置访问权限,同样也允许字段有访问权限。成员类型的访问权限指的是该类型能够被哪些程序集中的代码访问。字段的访问权限指的是该字段能够被定义它的类型或其他类型的代码访问。 针对问题中的情况,既然成员类型的访问权限低于字段本身,那么我们可以通过某种方式绕过成员类型的…

    C# 2023年5月15日
    00
  • jquery+ajax+C#实现无刷新操作数据库数据的简单实例

    下面我将为你详细讲解“jquery+ajax+C#实现无刷新操作数据库数据的简单实例”的完整攻略。 1. 准备工作 在开始前,你需要先准备好以下工作: 一台装有IIS、SQL Server等环境的Windows服务器。 一份C#项目,其中包含与数据库交互的代码。 一个HTML页面,用于调用Ajax和展示数据。 2. 实现步骤 2.1 配置Web.config…

    C# 2023年5月15日
    00
  • C#异步编程由浅入深(一)

    下面是“C#异步编程由浅入深(一)”完整攻略的讲解: 异步编程的定义 异步编程(Asynchronous Programming)是指在执行耗时操作时,允许其他操作同时执行的编程方式。它可以让主程序不被阻塞,提高程序的并发能力和响应性能。 异步编程的模型 C#中的异步编程采用任务(Task)模型,它由以下几部分组成: Task的定义 Task是一个基本的异步…

    C# 2023年6月6日
    00
  • C#中实现在32位、64位系统下自动切换不同的SQLite dll文件

    实现在32位、64位系统下自动切换不同的SQLite dll文件,需要做以下几个步骤: 导入SQLite.Interop.dll文件 在C#项目中使用SQLite时,需要引入SQLite.Interop.dll文件,该文件是SQLite官方提供的用于自动切换32位、64位dll文件的库文件。在VS中创建C#项目后,可以直接从NuGet中搜索SQLite.In…

    C# 2023年6月7日
    00
  • C#关键字async/await用法

    下面是”C#关键字async/await用法”的完整攻略。 标题 C#关键字async/await用法 介绍 async/await是C# 5.0版本中新增的关键字,用于简化异步编程的过程。当我们需要在.NET应用程序中执行耗时操作时,通常会遇到线程阻塞、死锁、竞争和上下文问题等问题。使用async/await可以很好地解决这些问题,使得代码更易于编写和理解…

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