C#邮件发送

目录

  • 目录
  • 邮件发送
    • 说明
    • SMTP 协议
    • 邮件服务器
    • 具体代码

邮件发送

说明

本文主要说明如何用 C# 语言来写一个小功能————SMTP 邮件发送。并且本文中用的是网易126邮件服务器为例。

SMTP 协议

首先,发送邮件的前提是发送方需支持简单邮件传输协议( Simple Mail Transfer Protocol ),默认端口为25。
进入126网易邮箱,在上方的导航栏中可以看到“设置”一栏,点击后选择 POP3/SMTP/IMAP 进入设置页面。点击开启 SMTP 服务并保存即可(目前新申请的邮箱需要绑定手机号才可开启此功能)。

邮件服务器

常用的邮件服务器如下,只列出了一部分,具体可以去网上查询。

常用邮件服务器名 POP3服务器地址 SMTP服务器地址
google.com pop.gmail.com smtp.gmail.com
sina.com pop3.sina.com.cn smtp.sina.com.cn
163.com pop.163.com smtp.163.com
126.com pop.126.com smtp.126.com
china.com pop.china.com smtp.china.com
sohu.com pop3.sohu.com smtp.sohu.com
yahoo.com pop.mail.yahoo.com smtp.mail.yahoo.com
google.com pop.gmail.com smtp.gmail.com

具体代码

首先引用两个命名空间

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


/// 
/// 邮件发送
/// 
/// 收件人邮箱
/// 邮件标题
/// 邮件内容
/// 邮件服务器,例:"smtp.126.com"
/// 邮件服务器端口
public void Send(string toMail, string title, string body, string host, int port)
{
    MailAddress from = new MailAddress(发件人邮箱, 发件人名字);
    // 设置收件人信箱,及显示名字
    MailAddress to = new MailAddress(toMail, "admin");
    // 创建一个MailMessage对象
    MailMessage oMail = new MailMessage(from, to);

    oMail.Subject = title; // 邮件标题
    oMail.Body = body; // 邮件内容

    oMail.IsBodyHtml = true; // 指定邮件格式,支持HTML格式
    oMail.BodyEncoding = System.Text.Encoding.GetEncoding("GB2312"); // 邮件采用的编码
    oMail.Priority = MailPriority.High; // 设置邮件的优先级为高

    // 发送邮件服务器
    SmtpClient client = new SmtpClient();
    client.Host = host; // 指定邮件服务器
    client.Port = port; // 端口
    client.Credentials = new NetworkCredential(发件人邮箱, 邮箱SMTP授权密码); // 指定服务器邮件,及邮箱SMTP授权密码

    // 发送
    try
    {
        client.Send(oMail); // 发送邮件
    }
    catch (Exception e)
    {
        ...
    }
}

你可能感兴趣的:(邮件,邮件服务器,C#写邮件,SMTP,C#)