1. 首页
  2. >
  3. 编程技术
  4. >
  5. C#

C# 实现向指定邮箱发送信息功能

应用场景

可以快速批量或者自动向指定用户发送模板邮件信息,比如重置密码时可以向指定邮箱发送验证码,公司发布公告、通知等,由于向邮箱发送验证码是免费的,因此可以节约成本。

前提条件

1、知晓邮箱服务器的类型,与邮箱服务器端口。我使用的是QQ邮箱,QQ邮箱的邮箱服务器类型是:smtp.qq.com。QQ邮箱服务器的端口是587。如果需要其余邮箱平台的的服务器端口与服务器类型,请百度,我就不列举了。

2、需要开启发送信息邮箱的SMTP服务。

代码实现:

/// <summary>
/// 向指定邮箱发送信息
/// </summary>
/// <param name="receivingMailbox">接收者邮箱</param>
/// <param name="subject">邮件主题</param>
/// <param name="mailContent">邮件内容</param>
public static void SendInfoToSpecifiedMailbox(string receivingMailbox,string subject,string mailContent)
{
//SendMailbox:发送信息的邮箱,可以保存到配置文件中
//SMIPServiceCode:邮箱smtp服务密码,确保邮箱已经开启了SMTP服务,开启后会给出一串编码就是smtp服务密码,后台填入编码
//Host:邮箱服务器类型,我这里用的是QQ邮箱:smtp.qq.com,可以保存到配置文件中
//Port:邮箱服务器端口,可以保存到配置文件中
SmtpClient client = new SmtpClient(Host, Port);
MailMessage msg = new MailMessage(SendMailbox, receivingMailbox, subject, mailContent);
client.UseDefaultCredentials = false;
System.Net.NetworkCredential basicAuthenticationInfo =
new System.Net.NetworkCredential(SendMailbox, SMIPServiceCode);
client.Credentials = basicAuthenticationInfo;
client.EnableSsl = true;
client.Send(msg);
}

密码,端口,发件箱之类的信息可以保存在配置文件中。

调用示例:

SendInfoToSpecifiedMailbox("813222814@qq.com", "邮件标题", "邮件内容")