.net邮件发送帮助类
代码如下:
using System; using System.Collections.Generic; using System.Text; using System.Configuration; using System.IO; using System.Web; using System.Net.Mail; using System.Net; using System.ComponentModel;public class GTMail{#region 发送电子邮件/// <summary>/// 发送电子邮件/// </summary>/// <param name="smtpserver">SMTP服务器</param>/// <param name="userName">登录帐号</param>/// <param name="pwd">登录密码</param>/// <param name="nickName">发件人昵称</param>/// <param name="strfrom">发件人</param>/// <param name="strto">收件人</param>/// <param name="subj">主题</param>/// <param name="bodys">内容</param>public static void sendMail(string smtpserver, string userName, string pwd, string nickName, string strfrom, string strto, string subj, string bodys){SmtpClient _smtpClient = new SmtpClient();_smtpClient.DeliveryMethod = SmtpDeliveryMethod.Network;//指定电子邮件发送方式_smtpClient.Host = smtpserver;//指定SMTP服务器_smtpClient.Credentials = new System.Net.NetworkCredential(userName, pwd);//用户名和密码//MailMessage _mailMessage = new MailMessage(strfrom, strto);MailAddress _from = new MailAddress(strfrom, nickName);MailAddress _to = new MailAddress(strto);MailMessage _mailMessage = new MailMessage(_from, _to);_mailMessage.Subject = subj;//主题_mailMessage.Body = bodys;//内容_mailMessage.BodyEncoding = System.Text.Encoding.Default;//正文编码_mailMessage.IsBodyHtml = true;//设置为HTML格式_mailMessage.Priority = MailPriority.Normal;//优先级 _smtpClient.Send(_mailMessage);}#endregion#region 简单电子邮件发送/// <summary>/// 简单电子邮件发送/// </summary>/// <param name="smtpserver">SMTP服务器</param>/// <param name="userName">登录帐号</param>/// <param name="pwd">登录密码</param>/// <param name="nickName">发件人昵称</param>/// <param name="mailFrom">发件人</param>/// <param name="mailTo">收件人</param>/// <param name="subj">主题</param>/// <param name="bodys">内容</param>public static void sendMail(string smtpserver, int smtpport, string userName, string pwd, string nickName, string mailFrom, string mailTo, string subj, string bodys){SmtpClient _smtpClient = new SmtpClient();_smtpClient.DeliveryMethod = SmtpDeliveryMethod.Network;//指定电子邮件发送方式_smtpClient.Host = smtpserver;//指定SMTP服务器_smtpClient.Port = smtpport;_smtpClient.EnableSsl = true;//_smtpClient.SendCompleted += new SendCompletedEventHandler(Smtp_SendCompleted);_smtpClient.Credentials = new NetworkCredential(userName, pwd);//用户名和密码 MailAddress _from = new MailAddress(mailFrom, nickName, Encoding.GetEncoding(936));MailAddress _to = new MailAddress(mailTo);MailMessage _mailMessage = new MailMessage(_from, _to);_mailMessage.Subject = subj;//主题_mailMessage.Body = bodys;//内容_mailMessage.BodyEncoding = Encoding.Default;//正文编码_mailMessage.IsBodyHtml = true;//设置为HTML格式_mailMessage.Priority = MailPriority.Normal;//优先级 _smtpClient.Send(_mailMessage);//_smtpClient.SendMailAsync(_mailMessage); }private static void Smtp_SendCompleted(object sender, AsyncCompletedEventArgs e){string msg = e.UserState.ToString();SmtpClient smtp = (SmtpClient)sender;if (e.Error == null)//问题出现后,这里的Error并没有错误 {msg += ",1";//发送成功 }else{msg += ",0";smtp.SendAsyncCancel();}}#endregion#region 邮件批量发送/// <summary>/// 邮件批量发送/// </summary>/// <param name="smtpserver"></param>/// <param name="smtpport"></param>/// <param name="userName"></param>/// <param name="pwd"></param>/// <param name="mailFrom"></param>/// <param name="nickName"></param>/// <param name="mailTo"></param>/// <param name="subj"></param>/// <param name="bodys"></param>/// <param name="cc"></param>/// <param name="bcc"></param>/// <param name="mailAttachments"></param>public static void SendMail(string smtpserver, int smtpport, string userName, string pwd, string mailFrom, string nickName, string[] mailTo, string subj, string bodys, string[] cc, string[] bcc, string[] mailAttachments){SmtpClient smtp = new SmtpClient(); //实例化一个SmtpClientsmtp.DeliveryMethod = SmtpDeliveryMethod.Network; //将smtp的出站方式设为 Networksmtp.EnableSsl = false;//smtp服务器是否启用SSL加密smtp.Host = smtpserver; //指定 smtp 服务器地址smtp.Port = smtpport; //指定 smtp 服务器的端口,默认是25,如果采用默认端口,可省去//如果你的SMTP服务器不需要身份认证,则使用下面的方式,不过,目前基本没有不需要认证的了smtp.UseDefaultCredentials = true;//smtp.SendCompleted += new SendCompletedEventHandler(Smtp_SendCompleted);//如果需要认证,则用下面的方式smtp.Credentials = new NetworkCredential(userName, pwd);MailMessage mm = new MailMessage(); //实例化一个邮件类mm.Priority = MailPriority.Normal; //邮件的优先级,分为 Low, Normal, High,通常用 Normal即可mm.From = new MailAddress(mailFrom, nickName, Encoding.GetEncoding(936));//收件方看到的邮件来源;//第一个参数是发信人邮件地址//第二参数是发信人显示的名称//第三个参数是 第二个参数所使用的编码,如果指定不正确,则对方收到后显示乱码//936是简体中文的codepage值//注:上面的邮件来源,一定要和你登录邮箱的帐号一致,否则会认证失败 mm.ReplyToList.Add(mailFrom);//ReplyTo 表示对方回复邮件时默认的接收地址,即:你用一个邮箱发信,但却用另一个来收信if (cc.Length > 0){mm.CC.Add(string.Join(",", cc));//抄送 }if (bcc.Length > 0){mm.Bcc.Add(string.Join(",", bcc));//密送 }if (mailAttachments.Length > 0){for (int i = 0; i < mailAttachments.Length; i++){Attachment objMailAttachment = new Attachment(@mailAttachments[i]);//发送邮件的附件的地址mm.Attachments.Add(objMailAttachment);//将附件附加到邮件消息对象中 }}mm.To.Add(string.Join(",", mailTo));mm.Subject = subj; //邮件标题mm.SubjectEncoding = Encoding.GetEncoding(936);// 这里非常重要,如果你的邮件标题包含中文,这里一定要指定,否则对方收到的极有可能是乱码。// 936是简体中文的pagecode,如果是英文标题,这句可以忽略不用mm.IsBodyHtml = true; //邮件正文是否是HTML格式 mm.BodyEncoding = Encoding.GetEncoding(936);//邮件正文的编码, 设置不正确, 接收者会收到乱码 mm.Body = bodys;//邮件正文 smtp.Send(mm);//smtp.SendMailAsync(mm); //发送邮件,如果不返回异常, 则大功告成了。 }#endregion }
转载于:https://www.cnblogs.com/Angel-szl/p/10404854.html
.net邮件发送帮助类相关推荐
- 封装一个邮件发送工具类,一个字,巴适
系列文章目录 文章目录 系列文章目录 前言 一. 介绍 二.二话不说开始干 1.引入库 2. 邮件发送实体(Mail) 3. 邮件发送类型枚举(MailType ) 4.邮件发送抽象类(Abstrac ...
- Java 基于mail.jar 和 activation.jar 封装的邮件发送工具类
准备工作 发送邮件需要获得协议和支持! 开启服务 POP3/SMTP 服务 如何开启 POP3/SMTP 服务:https://blog.csdn.net/weixin_44953227/articl ...
- JAVA 邮件发送工具类
1.封装邮件接收地址MODEL和邮件信息MODEL package com.sicdt.jnzxgzc.common.mail.model;import java.io.Serializable; / ...
- C# 邮件发送帮助类
引用 using Microsoft.Extensions.Configuration; using System; using System.Collections.Generic; using S ...
- exchange无法收发邮件_SpringBoot2.x系列教程69--SpringBoot中整合邮件发送
SpringBoot2.x系列教程69--SpringBoot中整合邮件发送 作者:一一哥 注: 本文案例以QQ邮箱发送的实现为例! 一. 邮件发送概述 1. 概述 在Spring框架中提供了一个Ja ...
- [Java工具] 邮件发送工具
注册邮箱 去163邮箱(或其他邮箱)注册一个邮箱,并开启SMTP授权码. 程序 需要注意的是,由于阿里云服务器不让使用默认的25端口,所以会出现Windows下测试发送邮件成功,Linux服务器下发送 ...
- 10-10-定时邮件发送
一.邮件发送工具类实现 创建一个用于邮件发送服务的工具类MailUtils,并编写一个发送简单邮件的方法 @Component public class MailUtils { @Autowired ...
- exchange无法收发邮件_SpringBoot2.x系列教程69--SpringBoot中整合Mail实现邮件发送
SpringBoot2.x系列教程69--SpringBoot中整合邮件发送 作者:一一哥 注: 本文案例以QQ邮箱发送的实现为例! 一. 邮件发送概述 1. 概述 在Spring框架中提供了一个Ja ...
- 利用hutool实现邮件发送功能
如何利用hutool工具包实现邮件发送功能呢? 1.首先引入hutool依赖 <dependency><groupId>cn.hutool</groupId>< ...
- Email邮件发送设置 工具开发整理(网易邮箱、Mailgun为例) 下篇
Email邮件设置(网易邮箱.Mailgun) 下篇 说明:STMP服务邮件发送工具类,其中包括文本发送.html发送.附件发送. 1.maven pom 配置 <dependency> ...
最新文章
- “allegro中焊盘的设置”收藏
- Docker安装mysql8
- java语言语法--- Java标识符(标识符命名规则)、Java关键字、Java变量(变量的声明、赋值、使用)和常量(字符常量、字面常量)(包括Java字节码文件反汇编命令javap)
- 信息学奥赛C++语言:交换数值
- XML数据读取方式性能比较(一) (转)
- 直接拿来用!最火的Android开源项目(一) (转)
- 基于android的电子词典设计_基于安卓Android电子词典移动客户端APP设计(AndroidStudio,SQLit...
- 中国大学生在线官方微博入围全国十大中央机构微博、全国十大教育微博
- 产品设计必读书籍推荐
- 淘宝网上卖F22飞机,一群强人提问
- FTP服务器文件的批量下载
- 色即是空 空即是色_huadingjin_新浪博客
- 【深度好文】Python图像处理之物体标识与面积测量
- 关于insight数据库价格与价值的双重选择
- 【软件之道】Word模板的制作及使用
- 发布订阅和观察者模式
- Ubuntu安装笔记
- 睡到自然醒的七个关键,熬夜的要看哦!
- 聚类算法之K-means
- 赋予人工智能记忆的人,带你梳理深度学习核心算法