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 简介相关推荐

  1. JavaMail| Apache Commons Email介绍

    Apache Commons Email简介 Apache Commons Email旨在提供一个用于发送电子邮件的API.它建立在JavaMail API之上,旨在简化它. 官网: http://c ...

  2. Commons Email开源项目使用

    Commons Email介绍 Commons Email是一个提供发送邮件的API.它是基于Java Mail API开发的项目,目的是为使用更加简单. Commons Email官网地址:http ...

  3. Apache Commons Email 怎样设置接收方发送已读回执?

    Apache Commons Email 怎样设置接收方发送已读回执? 在给别人发邮件时,怎么知道对方是否收到? 类似126/163邮箱里面,发信时 勾选 "[ ] 已读回执" 对 ...

  4. Apache Commons Daemon简介说明

    转自: Apache Commons Daemon简介说明 下文笔者讲述Apache Commons Daemon的功能简介说明,如下所示 Apache Commons Daemon的功能 用于将一个 ...

  5. Apache commons email 使用过程中遇到的问题

    apache-commons-email是对mail的一个封装,所以使用起来确实是很方便.特别的,官网上的tutorial也是极其的简单.但是我也仍然是遇到了没有解决的问题. jar包的添加 mail ...

  6. java中commons意思_java的Commons包简介

    Jakarta Commons是Jakarta的一个子项目,目的是创建和维护独立于其他框架和产品的程序包(packages).Jakarta Commons项目源于重用,其中的程序包必须确保能够重用. ...

  7. java 用Apache Commons Email发邮件

    所需jar包:commons-email-1.4.jar和mail-1.4.1jar SimpleEmail 用于发送普通文本邮件 package liu.email;import org.apach ...

  8. apche commons项目简介

    1.apche commons项目封装了日常开发中经常使用的功能,如io, String等. http://commons.apache.org/ Apache Commons项目的由三部分组成: T ...

  9. Apache Commons 系列简介 之 CLI

    原文链接:http://www.blogways.net/blog/2014/01/15/apache-commons-cli.html Apache Commons的主要目的就是,创建和维护一个可重 ...

最新文章

  1. 数字图像处理:(3)一阶微分算子在图像处理中的应用
  2. undefined symbol: ap_log_rerror;apache2.4与weblogic点so文件
  3. UBUNTU下SUBLIME TEXT3的安装+破解+汉化+中文输入
  4. Python基础数据之列表
  5. u盘安装浪潮服务器_浪潮服务器NF84260M3安装Windows server 2012 R2
  6. 创客编程帮助孩子提升学习成绩,是一项长远投资!
  7. C# Datagridview完整攻略
  8. 学习笔记(二)JavaScript基本概念(语法,数据类型,控制语句,函数)
  9. Android之如何让Android studio编译更快
  10. 数据结构05数组和广义表
  11. FreeSql (三)实体特性
  12. javascript date php date,JavaScript Date 知识浅析
  13. 【转载】我只是随便说说的即时通讯
  14. OpenSSL 宣布将开源许可证更改为 Apache 2.0
  15. 通过jQuery的attr修改onclick
  16. 免费下载pro puppet 2高清pdf,需要的抓紧
  17. [转载]刘继东:个人知识管理-走出去,请进来
  18. Flutter+原生开发与H5+原生开发的区别在哪里?
  19. 第一章 语言处理与python
  20. 小米4c手机显示无服务器,小米4C手机无法开机变砖了怎么办

热门文章

  1. Linux阿里云/腾讯云/百度云服务器安装部署ElasticSearch
  2. java中for循环执行顺序
  3. LRC算法的Java实现
  4. 小程序-----Vscode中微信小程序插件
  5. Android 仿饿了么点餐页面报告,RecyclerView仿饿了吗点菜页面
  6. 手机上如何制作出好看的证件照片
  7. Android 手机对应版本
  8. DeFi借贷协议Euler完成由Paradigm领投的800万美元A轮融资
  9. CSS 鼠标悬停按钮效果
  10. 考研英语(1-10)转自何凯文老师