java实现发送邮件
来源:互联网 发布:神创天下骑兵升级数据 编辑:程序博客网 时间:2024/05/17 01:02
Java实现发送邮件的工具类
一、首先导入
二、实现代码如下:
import java.util.Iterator;import java.util.Map;import java.util.Properties;import javax.mail.BodyPart;import javax.mail.Message;import javax.mail.Multipart;import javax.mail.Session;import javax.mail.Transport;import javax.mail.internet.InternetAddress;import javax.mail.internet.MimeBodyPart;import javax.mail.internet.MimeMessage;import javax.mail.internet.MimeMultipart;import org.nutz.lang.Strings;import org.nutz.service.Service;import com.wonders.tiles.dic.DicDataUtils;/** * 发送邮件工具类 * @author ywx * */public class MailUtils extends Service{/** * 服务器配置 */private static final String HOST="pop3.wondersgroup.com";/** * 863团队 */public static final String GROUP_863 = "66";/** * 北京团队 */public static final String GROUP_BEIJING = "70";/** * 管理员 */public static final String GROUP_MANAGER = "杨";/** * 发送指定项目组所有人员邮件 . * @param fromName 发送人邮件地址,如yangwenxue@wondersgroup.com * @param groupName 接受一下三种常量:MailUtils.GROUP_863;MailUtils.GROUP_BEIJING;MailUtils.GROUP_FANGDI * @param subject 标题 * @param ext 邮件内容,支持html格式 */public static void sendAllMail(String from,String groupName,String subject,String ext){Map<String, String> dictionaryMap = DicDataUtils.getInstance().getDic(Integer.valueOf(groupName));for (Iterator<String> iter = dictionaryMap.keySet().iterator(); iter.hasNext();) { String key = (String)iter.next(); String toName = dictionaryMap.get(key); if(!Strings.isBlank(toName)){sendMail(from, toName, subject, ext); }}}/** * 发送指定项目组所有人员邮件,发件人直接通过人员名称发送 . * @param fromName 发送人名称 * @param groupName 接受一下三种常量:MailUtils.GROUP_863;MailUtils.GROUP_BEIJING;MailUtils.GROUP_FANGDI * @param subject 标题 * @param ext 邮件内容,支持html格式 */public static void sendAllMailbyName(String fromName,String groupName,String subject,String ext){Map<String, String> dictionaryMap = DicDataUtils.getInstance().getDic(Integer.valueOf(groupName));for (Iterator<String> iter = dictionaryMap.keySet().iterator(); iter.hasNext();) { String key = (String)iter.next(); String toName = dictionaryMap.get(key); if(!Strings.isBlank(toName)){sendMail(DicDataUtils.getInstance().getDicData(new Integer(68), fromName), toName, subject, ext); }}}/** * 单个发送邮件,直接通过人员名称发送 . * @param fromName 发送人名称 * @param toName 接受人名称 * @param subject 标题 * @param ext 邮件内容,支持html格式 */public static void sendMailbyName(String fromName,String toName,String subject,String ext){sendMail(DicDataUtils.getInstance().getDicData(new Integer(68), fromName), DicDataUtils.getInstance().getDicData(new Integer(68), toName), subject, ext);}/** * 单个发送邮件,直接通过邮件地址发送 . * @param from 发送人邮件地址,如yangwenxue@wondersgroup.com * @param to 接收人的邮件地址,如yangwenxue@wondersgroup.com * @param subject 标题 * @param ext 邮件内容,支持html格式 */public static void sendMail(String from,String to,String subject,String ext){ Properties props = new Properties(); // 设置发送邮件的邮件服务器的属性 //props.put("mail.smtp.host", getProperty("smtp").toString()); props.put("mail.smtp.host", HOST); // 需要经过授权,也就是有户名和密码的校验,这样才能通过验证(一定要有这一条) props.put("mail.smtp.auth", "false"); // 用刚刚设置好的props对象构建一个session Session session = Session.getDefaultInstance(props); // 有了这句便可以在发送邮件的过程中在console处显示过程信息,供调试使 // 用(你可以在控制台(console)上看到发送邮件的过程) session.setDebug(true); // 用session为参数定义消息对象 MimeMessage message = new MimeMessage(session); try { // 加载发件人地址 message.setFrom(new InternetAddress(from)); // 加载收件人地址 message.addRecipient(Message.RecipientType.TO, new InternetAddress(to)); // 加载标题 message.setSubject(subject); // 向multipart对象中添加邮件的各个部分内容,包括文本内容和附件 Multipart multipart = new MimeMultipart(); // 设置邮件的文本内容 BodyPart contentPart = new MimeBodyPart(); //设置HTML内容 >>>>>>>>>>发送html的邮件 contentPart.setContent(subject,"text/html; charset=utf-8"); contentPart.setContent(ext,"text/html; charset=utf-8"); multipart.addBodyPart(contentPart); // 将multipart对象放到message中 message.setContent(multipart); // 保存邮件 message.saveChanges(); // 发送邮件 Transport transport = session.getTransport("smtp"); // 连接服务器的邮箱// transport.connect(getProperty("smtp").toString(), "", ""); transport.connect(HOST, "", ""); // 把邮件发送出去 transport.sendMessage(message, message.getAllRecipients()); transport.close(); } catch (Exception e) { e.printStackTrace(); }} public static void main(String args[]){String ext= "<div style='text-align: center;font-size: 24px;font-weight: bold'>邮件群发测试第二次,不要回</div><div right_style01'><dl><dt><h3>会议要素</h3><ul ><li><b>时间:2015-08-25 12</b></li><li><b>地点:863的302会议室</b></li><li><b>人员:dream</b></li></ul></dt></dl></div><div right_style01'><dl><dt><h3>会议议题</h3><ul >时间:下午1:301.每个人进行上周工作的实施情况(成果+问题),限5分钟2.新毕业生的学习总结(开发心得+建议+问题),限10分钟。</ul></dt></dl></div><div right_style01'><dl><dt><h3>会议纪要</h3></dt></dl></div></div><div >TEAMPLAY 版权所有 Copyright 2015 All Rights Reserved </div></body>";//MailUtils.sendMailbyName("张三", "李四", "测试发送", ext);MailUtils.sendAllMailbyName("李四", MailUtils.GROUP_863, "邮件群发测试第二次", ext);}}
本篇文章过于简洁,但只是作为个人工作的一个记录,请谅解。
1 0
- java实现邮件发送
- java实现邮件发送
- java 实现发送邮件
- java 实现邮件发送
- java发送邮件实现
- Java实现发送邮件
- Java 实现邮件发送
- java实现发送邮件
- java实现邮件发送
- Java实现邮件发送
- Java实现发送邮件
- JAVA实现邮件发送
- Java实现发送邮件
- Java实现邮件发送
- java实现发送邮件
- java 实现发送邮件
- java实现邮件发送
- Java实现邮件发送
- iOS 设置视图的圆角效果
- 数轴上一个点到其他点距离之和最小问题
- Hibernate二级缓存 的配置详解(ssh)
- EL表达式 自定义方法 tld 说明
- 类,对象的初始化
- java实现发送邮件
- OpenCV学习之CvMat的用法详解及实例
- [leetcode] 152. Maximum Product Subarray
- MySQL锁阻塞分析
- 过采样能提高信噪比
- 集成支付宝钱包支付iOS SDK的方法与经验
- 用户·角色·权限·表
- 正则表达式基本语法
- Alluxio源码分析定位策略:最大可用容量优先策略MostAvailableFirstPolicy