using System;
using System.Net;
using System.Net.Mail;
using System.Text;
using System.Threading; namespace 落地页测试代码
{
public class MailHelper
{
/// <summary>
/// 邮件服务器地址
/// </summary>
public string MailServer { get; set; }
/// <summary>
/// 用户名
/// </summary>
public string MailUserName { get; set; }
/// <summary>
/// 密码
/// </summary>
public string MailPassword { get; set; }
/// <summary>
/// 名称
/// </summary>
public string MailName { get; set; } /// <summary>
/// 同步发送邮件
/// </summary>
/// <param name="to">收件人邮箱地址</param>
/// <param name="subject">主题</param>
/// <param name="body">内容</param>
/// <param name="encoding">编码</param>
/// <param name="isBodyHtml">是否Html</param>
/// <param name="enableSsl">是否SSL加密连接</param>
/// <returns>是否成功</returns>
public bool Send(string to, string subject, string body, string encoding = "UTF-8", bool isBodyHtml = true, bool enableSsl = false)
{
try
{
MailMessage message = new MailMessage();
// 接收人邮箱地址
message.To.Add(new MailAddress(to));
message.From = new MailAddress(MailUserName, MailName);
message.BodyEncoding = Encoding.GetEncoding(encoding);
message.Body = body;
//GB2312
message.SubjectEncoding = Encoding.GetEncoding(encoding);
message.Subject = subject;
message.IsBodyHtml = isBodyHtml; SmtpClient smtpclient = new SmtpClient(MailServer, );
smtpclient.Credentials = new System.Net.NetworkCredential(MailUserName, MailPassword);
//SSL连接
smtpclient.EnableSsl = enableSsl;
smtpclient.Send(message);
return true;
}
catch (Exception)
{
throw;
}
}
/// <summary>
/// 异步发送邮件 独立线程
/// </summary>
/// <param name="to">邮件接收人</param>
/// <param name="title">邮件标题</param>
/// <param name="body">邮件内容</param>
/// <param name="port">端口号</param>
/// <returns></returns>
public void SendByThread(string to, string title, string body, int port = )
{
new Thread(new ThreadStart(delegate()
{
try
{
SmtpClient smtp = new SmtpClient();
//邮箱的smtp地址
smtp.Host = MailServer;
//端口号
smtp.Port = port;
//构建发件人的身份凭据类
smtp.Credentials = new NetworkCredential(MailUserName, MailPassword);
//构建消息类
MailMessage objMailMessage = new MailMessage();
//设置优先级
objMailMessage.Priority = MailPriority.High;
//消息发送人
objMailMessage.From = new MailAddress(MailUserName, MailName, System.Text.Encoding.UTF8);
//收件人
objMailMessage.To.Add(to);
//标题
objMailMessage.Subject = title.Trim();
//标题字符编码
objMailMessage.SubjectEncoding = System.Text.Encoding.UTF8;
//正文
objMailMessage.Body = body.Trim();
objMailMessage.IsBodyHtml = true;
//内容字符编码
objMailMessage.BodyEncoding = System.Text.Encoding.UTF8;
//发送
smtp.Send(objMailMessage);
}
catch (Exception)
{
throw;
} })).Start();
}
}
}

发送邮件工具类MailHelper的更多相关文章

  1. JAVA发送邮件工具类

    import java.util.Date;import java.util.Properties; import javax.mail.BodyPart;import javax.mail.Mess ...

  2. Jmail发送邮件工具类

    好久没更新博客了,实在是拖延症严重啊,好可怕,先更新个工具类吧,之前写的发送邮件的小工具,话不多说上代码 import lombok.extern.slf4j.Slf4j; import java.u ...

  3. java HtmlEmail发送邮件工具类

    package com.sh.xrsite.common.utils; import java.io.File; import java.util.HashMap; import java.util. ...

  4. Java 发送邮件工具类

    1.  Mail.java package util; import java.util.Date; import java.util.Properties; import javax.mail.Au ...

  5. java中使用javaMail工具类发送邮件

    1.引入依赖 <!--javaMail--> <dependency> <groupId>javax.mail</groupId> <artifa ...

  6. 01_JavaMail_05_创建邮件工具类MailUtils等方便发送邮件

    [工程截图] [代码实现] [Mail.java] package com.Higgin.Utils; import java.util.ArrayList; import java.util.Lis ...

  7. 基于JavaMail开发邮件发送器工具类

    基于JavaMail开发邮件发送器工具类 在开发当中肯定会碰到利用Java调用邮件服务器的服务发送邮件的情况,比如账号激活.找回密码等功能.本人之前也碰到多次这样需求,为此特意将功能封装成一个简单易用 ...

  8. Apache Commons 工具类介绍及简单使用

    转自:http://www.cnblogs.com/younggun/p/3247261.html Apache Commons包含了很多开源的工具,用于解决平时编程经常会遇到的问题,减少重复劳动.下 ...

  9. 项目经验分享——Java常用工具类集合 转

    http://blog.csdn.net/xyw591238/article/details/51678525 写在前面     本文涉及的工具类部分是自己编写,另一部分是在项目里收集的.工具类涉及数 ...

随机推荐

  1. python工程师成长之路精品课程(全套)

    python工程师成长之路精品课程(全套)  有需要联系我:QQ:1844912514 什么是Python? Python是一门面向对象的编程语言,它相对于其他语言,更加易学.易读,非常适合快速开发. ...

  2. Vue 实现左边导航栏且右边显示具体内容(element-ui)

    最终效果图: 现在开始进入正题: 1.安装element-ui npm i element-ui -S CDN 目前可以通过 unpkg.com/element-ui 获取到最新版本的资源,在页面上引 ...

  3. Netty的基本使用

    Gradle 的优点 原文:https://blog.csdn.net/achenyuan/article/details/80682288  1. 按约定声明构建和建设: 2. 强大的支持多工程的构 ...

  4. B+树和B-树的区别

    https://www.jianshu.com/p/92d15df75027 这个网站好! https://www.cs.usfca.edu/~galles/visualization/BTree.h ...

  5. Capability配置简介

    什么是Capability desired capability的功能是配置Appium会话.他们告诉Appium服务器您想要自动化的平台和应用程序. Desired Capabilities是一组设 ...

  6. 鼠标拖动DOM

    自己收藏,使用angualrjs的directive些的鼠标拖动DOM.... <!DOCTYPE html> <html lang="en"> <h ...

  7. BZOJ2406矩阵——有上下界的可行流+二分答案

    题目描述 输入 第一行两个数n.m,表示矩阵的大小. 接下来n行,每行m列,描述矩阵A. 最后一行两个数L,R. 输出 第一行,输出最小的答案: 样例输入 2 2 0 1 2 1 0 1 样例输出 1 ...

  8. Vscode生成verilog例化

    前言 手动例化又慢又容易出错,孩子老犯错怎么办? 当然是脚本一劳永逸. 流程 (1)在vscode中安装如下插件. (2)在电脑中安装python3以上的环境. 下载地址:https://www.py ...

  9. 第四届 CCCC 团体程序设计天梯赛 游记

    我们可能是唯一一个去参加这个比赛的中学生吧(划掉) DAY -inf 一天教练给我们说有这么个比赛,要选人,于是就愉快的开展了一次打字比赛 说实话手真的要抽筋了 不过最后还好涉险过关 DAY -1 疯 ...

  10. ORA-00923: FROM keyword not found where expected(单双引号)

    1.前提 在学习oracel的过程中遇到的一个关于单双引号的问题 备注一下 2.学习过程中创建表语句是这样的 create table DEPT_DML --部门表( DEPT_NO NUMBER(8 ...