1、让服务器发送邮件给指定邮箱

package com.day.util.mail;
import java.io.File;
import java.io.UnsupportedEncodingException;
import java.security.Security;
import java.util.Date;
import java.util.Map;
import java.util.Properties;
import javax.activation.DataHandler;
import javax.activation.FileDataSource;
import javax.mail.Authenticator;
import javax.mail.BodyPart;
import javax.mail.Message;
import javax.mail.MessagingException;
import javax.mail.Multipart;
import javax.mail.PasswordAuthentication;
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 javax.mail.internet.MimeUtility;
/*** 邮件处理类* */
public class MailUtil {//配置信息private static final String FROM_MAIL_SMTP = "220.181.15.111";private static final String FROM_MAIL_NAME = "您的邮箱";private static final String FROM_MAIL_PASS = "您邮箱的服务密码";/*** 发送邮件(灵活度高,通用版)* @param from 发件人* @param to 收件人, 多个Email以英文逗号分隔* @param cc 抄送, 多个Email以英文逗号分隔* @param subject 主题* @param content 内容* @param fileList 附件列表* @return*/public static void sendMail(String to, /*String cc,*/ String subject, String content/*, String[] fileList*/){try {Security.addProvider(new com.sun.net.ssl.internal.ssl.Provider());final String SSL_FACTORY = "javax.net.ssl.SSLSocketFactory";final Properties properties = System.getProperties() ;properties.setProperty("mail.smtp.host", FROM_MAIL_SMTP);properties.setProperty("mail.smtp.auth", "true");properties.setProperty("mail.smtp.user", FROM_MAIL_NAME);properties.setProperty("mail.smtp.pass", FROM_MAIL_PASS);properties.setProperty("mail.smtp.socketFactory.class", SSL_FACTORY);properties.setProperty("mail.smtp.socketFactory.fallback", "false");//邮箱发送服务器端口,这里设置为465端口properties.setProperty("mail.smtp.port","465");properties.setProperty("mail.smtp.socketFactory.port","465");// 根据邮件会话属性和密码验证器构造一个发送邮件的sessionSession session = Session.getInstance(properties, new Authenticator(){protected PasswordAuthentication getPasswordAuthentication() {return new PasswordAuthentication(properties.getProperty("mail.smtp.user"),properties.getProperty("mail.smtp.pass"));}});session.setDebug(true);Message message = new MimeMessage(session);//消息发送的主题message.setSubject(subject);//接受消息的人message.setReplyTo(InternetAddress.parse(FROM_MAIL_NAME));//消息的发送者message.setFrom(new InternetAddress(properties.getProperty("mail.smtp.user"),"Now For Dreams"));// 创建邮件的接收者地址,并设置到邮件消息中String[] split = to.split(",");InternetAddress []tos = new InternetAddress[split.length];for (int i = 0; i < split.length; i++) {tos[i]=new InternetAddress(split[i]);}// 设置抄送人/*if (cc != null && cc.length() > 0) {message.setRecipients(Message.RecipientType.CC, InternetAddress.parse(cc)); }*/message.setRecipients(Message.RecipientType.TO, tos);// 消息发送的时间message.setSentDate(new Date());Multipart mainPart = new MimeMultipart();// 创建一个包含HTML内容的MimeBodyPartBodyPart html = new MimeBodyPart();// 设置HTML内容html.setContent(content, "text/html; charset=utf-8");mainPart.addBodyPart(html);// 将MiniMultipart对象设置为邮件内容message.setContent(mainPart);// 设置附件/*if (fileList != null && fileList.length > 0) {for (int i = 0; i < fileList.length; i++) {html = new MimeBodyPart();FileDataSource fds = new FileDataSource(fileList[i]); html.setDataHandler(new DataHandler(fds)); html.setFileName(MimeUtility.encodeText(fds.getName(), "UTF-8", "B"));mainPart.addBodyPart(html); }}*/message.setContent(mainPart); message.saveChanges(); Transport.send(message);} catch (MessagingException e) {e.printStackTrace();} catch (UnsupportedEncodingException e) {e.printStackTrace();}}/*** 测试Mian方法* * @param args*/public static void main(String[] args) {/*String content = "<html><head><style type='text/css'>p{padding-left:50px;font-family:'楷体';font-size:20px;}table{padding-left:50px;border:0;font-family:'楷体';font-size:30px;}</style></head><body>您好:<br/><p>申请编号为"+"测试测试内容"+"的经销商对订单发起放弃签约,具体信息如下:</p><table border='1'  cellpadding='10' cellspacing='0'> <tr align='center'><td width='200'>经销商</td> <td width='300'>"+"无需回复"+"</td> </tr> <tr align='center'><td>申请编号</td><td>"+"测试测试内容"+"</td></tr> <tr align='center'><td>取消时间</td><td>"+"无需回复"+"</td></tr> <tr align='center'><td>加装GPS数量</td><td>"+"测试测试内容"+"</td></tr> <tr align='center'><td>GPS IMEI号</td><td>"+"测试测试内容"+"</td></tr><tr align='center'><td>店铺地址</td><td>"+"测试测试内容"+"</td></tr> <tr align='center'><td>店铺联系人姓名</td><td>"+"测试测试内容"+"</td></tr> <tr align='center'><td>店铺联系人电话</td><td>"+"测试测试内容"+"</td></tr> </table><p>请及时联系GPS相关人员,安排上门拆装,谢谢!</p>------------------------------------------------------------------------------</body></html>";content = "<html><head><style type='text/css'>p{padding-left:50px;font-family:'楷体';font-size:20px;}table{padding-left:50px;border:0;font-family:'楷体';font-size:30px;}</style></head><body>Hey:<br/><p>我们发现您的用户评测报告已经出来了,赶紧来看看:</p><p>用户:吕坤     手机号:17697182873    评测进度:3/9 (评测越多,报告越丰富哦):</p><p>河马小提示:点击链接查看报告</p><p>个人信用报告:<a href='https://axhub.im/pro/dbf03b6626db7bde/' target='_blank'>https://axhub.im/pro/dbf03b6626db7bde/</a></p><p>联系人信息:<a href='https://axhub.im/pro/dbf03b6626db7bde/' target='_blank'>https://axhub.im/pro/dbf03b6626db7bde/</a></p></body></html>";System.out.println(content);String[] fileList = new String[1];fileList[0] = "d:/pac.txt";*/sendMail("wdfgdzx@163.com", "wdfgdzx.top信息种类","IT");}
}

JAVA常用工具类-【6】邮箱发送相关推荐

  1. JAVA常用工具类(实用高效)

    JAVA常用工具类(根据GITHUB代码统计) 从Google你能搜索到大量的关于Struts,Spring,Hibernate,iBatis等比较大的框架的资料,但是很少有人去关注一些小的工具包,但 ...

  2. Java常用工具类StringUtils的常用方法

    Java常用工具类StringUtils的常用方法 1.该工具类是用于操作Java.lang.String类的. 2.StringUtils类在操作字符串是安全的,不会报空指针异常,也正因此,在操作字 ...

  3. java常用工具类和Hutool常用的工具类整理

    java常用工具类和Hutool常用的工具类整理 1.java常用工具类 1.1 Scanner类 /*** Scanner 类*/@Testpublic void testScanner() {Sc ...

  4. Java常用工具类JsonUtils

    Java常用工具类JsonUtils 一.项目添加pom文件 <dependency><groupId>com.google.code.gson</groupId> ...

  5. Hutool Java常用工具类汇总

    简介 Hutool是一个小而全的Java工具类库,通过静态方法封装,降低相关API的学习成本,提高工作效率,使Java拥有函数式语言般的优雅,让Java语言也可以"甜甜的". Hu ...

  6. Java 常用工具类整理

    目录 第一部分:常用的16个工具类 第二部分:java开发常用工具类(正则校验) 第一部分:常用的16个工具类 一.org.apache.commons.io.IOUtils 1.closeQuiet ...

  7. Java常用工具类之异常、包装类、字符串处理类、集合框架实现类、输入输出流、多线程

    集合.多线程和I/O流等 介绍6种常用工具类: 1.如何应用异常处理程序中的问题?2.如何通过包装器类实现基本数据类型的对象化处理?3.字符串处理类String.StringBuilder是如何进行字 ...

  8. Java 常用工具类 Collections 源码分析

    文章出处 文章出自:安卓进阶学习指南 作者:shixinzhang 完稿日期:2017.10.25 Collections 和 Arrays 是 JDK 为我们提供的常用工具类,方便我们操作集合和数组 ...

  9. Java发送邮件工具类(可发送匿名邮件)

    为什么80%的码农都做不了架构师?>>>    为了不想到处去下载jar包,我使用maven为我管理,在开始编码这些东西之前,我们先在pom.xml文件中<dependenci ...

最新文章

  1. 蓝牙的自适应跳频技术
  2. 20135331 文艺 java实验
  3. 网站用sqlite库,报attempt to write a readonly database,解决方法
  4. 程序员晒追女神聊天截图,坦言第一次没经验,网友直呼凭实力单身
  5. 2019牛客暑期多校训练营(第二场)-D Kth Minimum Clique
  6. 怎样提高你的Google Adsense收入
  7. 遗传算法原理及其python实现
  8. 阵列信号处理 窄带信号与包络
  9. retina屏 适配问题
  10. 该微信用户未开启“公众号安全助手”的消息接收功能,请先开启后再绑定的解决办法
  11. 冷战久了一定会分手的星座
  12. 改善用户体念:jsp+Ajax实现实时上传,删除,导入Excel进度条
  13. cad考试题库绘图题答案_最新CAD考试题库及答案-cad考试题库绘图题答案
  14. Anaconda python windows环境安装及完全排坑教程
  15. n个元素的所有子集(递归+非递归 +不去重)
  16. 嵌入式下的Hello World——点亮流水灯(STM32cubemx)
  17. 办公自动化基础知识题二
  18. Docker删除Exited镜像
  19. 整理任正非思想:胜利祝酒辞-1994
  20. 《左耳听风》读书心得之高手成长篇书单

热门文章

  1. 计算机网络教程 第6版
  2. 双语矩阵论课程笔记(2)—— 【chapter 1】 Vector Spaces (Linear Spaces)
  3. van-icon自定义图标的引入
  4. UE4 Material 101学习笔记——23-29 水涟漪/水深/折射反射/Gerstner海浪/波光焦散/泡沫/FlowMap
  5. 《程序员的自我修养》阅读笔记(一)
  6. MySQL按拼音首字母排序
  7. [Hector学习笔记]GNSS时间序列处理软件Hector使用备忘(批处理脚本)
  8. 保密单位 计算机维修保密协议,计算机维修保密协议.doc
  9. Android app设置字体大小和字体样式不随系统设置改变而改变
  10. TypeError: catching classes that do not inherit from BaseException is not allowed