c# 实现发送邮件的功能

 更新时间:2020年07月06日 15:50:02   作者:再学亿点点-young  
这篇文章主要介绍了c# 如何实现发送邮件的功能,文中示例代码非常详细,帮助大家更好的理解和学习,感兴趣的朋友可以了解下

微软已经为我们准备好了现成的工具类供我们调用:

MailMessage //邮件信息类
SmtpClient //邮件发送类

首先需要在项目的类文件中引用以下命名空间:

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

然后直接上封装好的代码:

/// <summary>
/// 发送邮件方法
/// </summary>
/// <param name="mailTo">接收人邮件</param>
/// <param name="mailTitle">发送邮件标题</param>
/// <param name="mailContent">发送邮件内容</param>
/// <returns></returns>
public static bool SendEmail(string mailTo, string mailTitle, string mailContent)
{
  //设置发送方邮件信息,例如:qq邮箱
  string stmpServer = @"smtp.qq.com";//smtp服务器地址
  string mailAccount = @"123456789@qq.com";//邮箱账号
  string pwd = @"xcryxiqzzasaebbe";//邮箱密码(qq邮箱此处使用授权码,其他邮箱见邮箱规定使用的是邮箱密码还是授权码)

  //邮件服务设置
  SmtpClient smtpClient = new SmtpClient();
  smtpClient.DeliveryMethod = SmtpDeliveryMethod.Network;//指定电子邮件发送方式
  smtpClient.Host = stmpServer;//指定发送方SMTP服务器
  smtpClient.EnableSsl = true;//使用安全加密连接
  smtpClient.UseDefaultCredentials = true;//不和请求一起发送
  smtpClient.Credentials = new NetworkCredential(mailAccount, pwd);//设置发送账号密码

  MailMessage mailMessage = new MailMessage(mailAccount, mailTo);//实例化邮件信息实体并设置发送方和接收方
  mailMessage.Subject = mailTitle;//设置发送邮件得标题
  mailMessage.Body = mailContent;//设置发送邮件内容
  mailMessage.BodyEncoding = Encoding.UTF8;//设置发送邮件得编码
  mailMessage.IsBodyHtml = false;//设置标题是否为HTML格式
  mailMessage.Priority = MailPriority.Normal;//设置邮件发送优先级

  try
  {
    smtpClient.Send(mailMessage);//发送邮件
    return true;
  }
  catch (SmtpException ex)
  {
    throw ex;
  }
}

常见问题及错误汇总:

1.邮箱授权码怎么获取,以qq邮箱为例:

2.抛出错误:System.Net.Mail.SmtpException:“命令顺序不正确。 服务器响应为:Error: need EHLO and AUTH first !”

​解决方案:确认邮箱是使用密码直接登录,还是授权码;

3.抛出错误:mail from address must be same as authorization user

​一般是邮箱账户设置中的 POP3/IMAP/SMTP 未开启

以qq邮箱为例:同样在账户设置中找到下图,开启红框中的选项即可。

以上就是c# 实现发送邮件的功能的详细内容,更多关于c# 发送邮件的资料请关注脚本之家其它相关文章!

相关文章

  • 使用Topshelf框架操作Windows服务

    使用Topshelf框架操作Windows服务

    这篇文章介绍了使用Topshelf框架操作Windows服务的方法,文中通过示例代码介绍的非常详细。对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2022-06-06
  • 解析XPath语法之在C#中使用XPath的示例详解

    解析XPath语法之在C#中使用XPath的示例详解

    本篇文章是对在C#中使用XPath的示例进行了详细的分析介绍,需要的朋友参考下
    2013-05-05
  • C#数字图像处理之图像缩放的方法

    C#数字图像处理之图像缩放的方法

    这篇文章主要介绍了C#数字图像处理之图像缩放的方法,涉及C#针对图像的缩放技巧,需要的朋友可以参考下
    2015-04-04
  • DevExpress的DateEdit设置显示日期和时间的方法

    DevExpress的DateEdit设置显示日期和时间的方法

    本文主要介绍了DevExpress的DateEdit设置显示日期和时间的方法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2022-08-08
  • .NET Core开发之配置详解

    .NET Core开发之配置详解

    这篇文章给大家分享了.NET Core开发中相关配置的知识点内容,有需要的朋友们可以参考下。
    2018-08-08
  • C#值类型和引用类型的深入理解

    C#值类型和引用类型的深入理解

    本篇文章主要是对C#中值类型和引用类型进行了详细的分析介绍,需要的朋友可以过来参考下,希望对大家有所帮助
    2014-01-01
  • C#多线程经典示例(吃苹果)

    C#多线程经典示例(吃苹果)

    本文主要讲述了多线程开发中经典示例,通过本示例,可以加深对多线程的理解。下面跟着小编一起来看下吧
    2017-01-01
  • C#利用微软自带库进行中文繁体和简体之间转换的方法

    C#利用微软自带库进行中文繁体和简体之间转换的方法

    这篇文章主要介绍了C#利用微软自带库进行中文繁体和简体之间转换的方法,涉及C#使用Microsoft.VisualBasic类库操作中文繁简字体转换的技巧,非常具有实用价值,需要的朋友可以参考下
    2015-04-04
  • C#操作DataTable的实现步骤

    C#操作DataTable的实现步骤

    本文主要介绍了C#操作DataTable的实现步骤,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2023-04-04
  • 如何使用C#修改本地Windows系统时间

    如何使用C#修改本地Windows系统时间

    这篇文章主要介绍了如何使用C#修改本地Windows系统时间,帮助大家更好的理解和使用c#,感兴趣的朋友可以了解下
    2021-01-01

最新评论