commons email 简介
org.apache.commons.mail Commons-Email旨在提供用于发送电子邮件。
下面是一个例子:
import java.util.HashMap;
import java.util.Map;
import java.util.regex.Matcher;
import java.util.regex.Pattern;import org.apache.commons.mail.HtmlEmail;/*** 发送电子邮件*/
public class SendMailUtil {private static final String from = "";//邮件的地址private static final String fromName = "测试公司";//邮件的出处private static final String charSet = "utf-8";//编码方式private static final String username = "";//使用SMTP协议的用户名private static final String password = "";//密码private static Map<String, String> hostMap = new HashMap<String, String>();static {// 126hostMap.put("smtp.126", "smtp.126.com");// qqhostMap.put("smtp.qq", "smtp.qq.com");// 163hostMap.put("smtp.163", "smtp.163.com");// sinahostMap.put("smtp.sina", "smtp.sina.com.cn");// tomhostMap.put("smtp.tom", "smtp.tom.com");// 263hostMap.put("smtp.263", "smtp.263.net");// yahoohostMap.put("smtp.yahoo", "smtp.mail.yahoo.com");// hotmailhostMap.put("smtp.hotmail", "smtp.live.com");}/** 获取服务器*/public static String getHost(String email) throws Exception {Pattern pattern = Pattern.compile("\\w+@(\\w+)(\\.\\w+){1,2}");Matcher matcher = pattern.matcher(email);String key = "unSupportEmail";if (matcher.find()) {key = "smtp." + matcher.group(1);}if (hostMap.containsKey(key)) {return hostMap.get(key);} else {throw new Exception("unSupportEmail");}}/** 获取端口号*/public static int getSmtpPort(String email) throws Exception {
//正则
Pattern pattern = Pattern.compile("\\w+@(\\w+)(\\.\\w+){1,2}");Matcher matcher = pattern.matcher(email);String key = "unSupportEmail";if (matcher.find()) {key = "smtp.port." + matcher.group(1);}//map中含有制定keyif (hostMap.containsKey(key)) {System.out.println(Integer.parseInt(hostMap.get(key)));return Integer.parseInt(hostMap.get(key));} else {return 25;}}/*** 发送普通邮件* * @param toMailAddr* 收信人地址* @param subject* email主题* @param message* 发送email信息*/public static void sendCommonMail(String toMailAddr, String subject,String message) {HtmlEmail hemail = new HtmlEmail();try {hemail.setHostName(getHost(from));hemail.setSmtpPort(getSmtpPort(from));hemail.setCharset(charSet);hemail.addTo(toMailAddr);//发送到的邮箱地址hemail.setFrom(from, fromName);hemail.setAuthentication(username, password);//验证用户名和密码hemail.setSubject(subject);//设置标题hemail.setMsg(message);//设置内容hemail.send();System.out.println("email send true!");} catch (Exception e) {e.printStackTrace();System.out.println("email send error!");}}public static void main(String[] args) {Map<String, Object> map = new HashMap<String, Object>();map.put("subject", "测试标题");map.put("content", "测试 内容");sendCommonMail("", "sendemail test!", "测试一下看看能不能发送邮件");}}
commons email 简介相关推荐
- JavaMail| Apache Commons Email介绍
Apache Commons Email简介 Apache Commons Email旨在提供一个用于发送电子邮件的API.它建立在JavaMail API之上,旨在简化它. 官网: http://c ...
- Commons Email开源项目使用
Commons Email介绍 Commons Email是一个提供发送邮件的API.它是基于Java Mail API开发的项目,目的是为使用更加简单. Commons Email官网地址:http ...
- Apache Commons Email 怎样设置接收方发送已读回执?
Apache Commons Email 怎样设置接收方发送已读回执? 在给别人发邮件时,怎么知道对方是否收到? 类似126/163邮箱里面,发信时 勾选 "[ ] 已读回执" 对 ...
- Apache Commons Daemon简介说明
转自: Apache Commons Daemon简介说明 下文笔者讲述Apache Commons Daemon的功能简介说明,如下所示 Apache Commons Daemon的功能 用于将一个 ...
- Apache commons email 使用过程中遇到的问题
apache-commons-email是对mail的一个封装,所以使用起来确实是很方便.特别的,官网上的tutorial也是极其的简单.但是我也仍然是遇到了没有解决的问题. jar包的添加 mail ...
- java中commons意思_java的Commons包简介
Jakarta Commons是Jakarta的一个子项目,目的是创建和维护独立于其他框架和产品的程序包(packages).Jakarta Commons项目源于重用,其中的程序包必须确保能够重用. ...
- java 用Apache Commons Email发邮件
所需jar包:commons-email-1.4.jar和mail-1.4.1jar SimpleEmail 用于发送普通文本邮件 package liu.email;import org.apach ...
- apche commons项目简介
1.apche commons项目封装了日常开发中经常使用的功能,如io, String等. http://commons.apache.org/ Apache Commons项目的由三部分组成: T ...
- Apache Commons 系列简介 之 CLI
原文链接:http://www.blogways.net/blog/2014/01/15/apache-commons-cli.html Apache Commons的主要目的就是,创建和维护一个可重 ...
最新文章
- 数字图像处理:(3)一阶微分算子在图像处理中的应用
- undefined symbol: ap_log_rerror;apache2.4与weblogic点so文件
- UBUNTU下SUBLIME TEXT3的安装+破解+汉化+中文输入
- Python基础数据之列表
- u盘安装浪潮服务器_浪潮服务器NF84260M3安装Windows server 2012 R2
- 创客编程帮助孩子提升学习成绩,是一项长远投资!
- C# Datagridview完整攻略
- 学习笔记(二)JavaScript基本概念(语法,数据类型,控制语句,函数)
- Android之如何让Android studio编译更快
- 数据结构05数组和广义表
- FreeSql (三)实体特性
- javascript date php date,JavaScript Date 知识浅析
- 【转载】我只是随便说说的即时通讯
- OpenSSL 宣布将开源许可证更改为 Apache 2.0
- 通过jQuery的attr修改onclick
- 免费下载pro puppet 2高清pdf,需要的抓紧
- [转载]刘继东:个人知识管理-走出去,请进来
- Flutter+原生开发与H5+原生开发的区别在哪里?
- 第一章 语言处理与python
- 小米4c手机显示无服务器,小米4C手机无法开机变砖了怎么办