C#邮件发送

目录

邮件发送

说明

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

SMTP 协议

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

邮件服务器

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

常用邮件服务器名POP3服务器地址SMTP服务器地址
google.compop.gmail.comsmtp.gmail.com
sina.compop3.sina.com.cnsmtp.sina.com.cn
163.compop.163.comsmtp.163.com
126.compop.126.comsmtp.126.com
china.compop.china.comsmtp.china.com
sohu.compop3.sohu.comsmtp.sohu.com
yahoo.compop.mail.yahoo.comsmtp.mail.yahoo.com
google.compop.gmail.comsmtp.gmail.com

具体代码

首先引用两个命名空间

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


/// <summary>
/// 邮件发送
/// </summary>
/// <param name="toMail">收件人邮箱</param>
/// <param name="title">邮件标题</param>
/// <param name="body">邮件内容</param>
/// <param name="host">邮件服务器,例:"smtp.126.com"</param>
/// <param name="port">邮件服务器端口</param>
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)
    {
        ...
    }
}
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值