java邮箱发送_java邮箱发送报错
展开全部
package com.gpt.util.email;
import java.io.FileOutputStream;
import java.util.List;
import java.util.Properties;
import javax.activation.DataHandler;
import javax.activation.FileDataSource;
import javax.mail.Message;
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 com.gpt.util.PropertiesUtil;
/**
*
* Java邮件发送类,使用javaMail类进行邮件发送
* by CKQ
* */
public class MailUtil {
//邮件服务器
private static String mail_host=(String)PropertiesUtil.getMap().get("mail_host");//"smtp.yeah.net";
//邮件服务器端口
private static int port=Integer.valueOf((String)PropertiesUtil.getMap().get("mail_port"));//25;
//邮件协e69da5e887aa3231313335323631343130323136353331333363396336议
private static String mail_transport_protocol=(String)PropertiesUtil.getMap().get("mail_transport_protocol");//"smtp";
//需要smtp验证
private static String mail_smtp_auth=(String)PropertiesUtil.getMap().get("mail_smtp_auth");//"true";
//发送人用户名
private static String username=(String)PropertiesUtil.getMap().get("mail_username");//"wujianhui321@yeah.net";
//发送人密码
private static String password=(String)PropertiesUtil.getMap().get("mail_password");//"xxxxxx";
//发送纯文本邮件
public static boolean sendSimpleMail(String from,String to,String subject,String content) {
boolean result=true;
try {
Properties prop=new Properties();
prop.setProperty("mail.host", mail_host);
prop.setProperty("mail.transport.protocol", mail_transport_protocol);
prop.setProperty("mail.smtp.auth", mail_smtp_auth);
//经验证qq邮箱需要添加一下两条记录,否则失败,其他暂时不知道,这是安全协议所需要的类 add by CKQ 2017-7-19
prop.setProperty("mail.smtp.socketFactory.class", "javax.net.ssl.SSLSocketFactory");
prop.setProperty("mail.smtp.socketFactory.port", String.valueOf(port));
Session session=Session.getInstance(prop);
//设置为debug模式 ,生产环境应该关掉
session.setDebug(true);
//获得transport对象
Transport ts=session.getTransport();
//连上邮件服务器
ts.connect(mail_host,port, username,password);
//创建邮件
MimeMessage message=new MimeMessage(session);
//设置发送人
message.setFrom(new InternetAddress(from));
//设置接收人
message.setRecipient(javax.mail.Message.RecipientType.TO, new InternetAddress(to));
//设置主题
message.setSubject(subject);
//设置内容
message.setContent(content,"text/html;charset=UTF-8");
//发送邮件
ts.sendMessage(message, message.getAllRecipients());
//关闭连接
ts.close();
} catch (Exception e) {
e.printStackTrace();
result=false;
}
return result;
}
//发送带图片的邮件
public static boolean sendImageMail(String from,String to,String subject,String absoluteImagePath) throws Exception{
boolean result=true;
try {
//获取图片后缀
String suffix=absoluteImagePath.substring(absoluteImagePath.lastIndexOf(".")+1,absoluteImagePath.length()) ;
//定义contentId,图片到达邮件服务器后会有一个contentId,然后html中可以引用这个contentId显示该图片。
String contentId="1."+suffix;
//内容模板
String content="带图片的邮件";
Properties prop=new Properties();
prop.setProperty("mail.host", mail_host);
prop.setProperty("mail.transport.protocol", mail_transport_protocol);
prop.setProperty("mail.smtp.auth", mail_smtp_auth);
Session session=Session.getInstance(prop);
//设置为debug模式 ,生产环境应该关掉
session.setDebug(true);
//获得transport对象
Transport ts=session.getTransport();
//连上邮件服务器
ts.connect(mail_host,port, username,password);
//创建邮件
MimeMessage message=new MimeMessage(session);
//设置发送人
message.setFrom(new InternetAddress(from));
//设置接收人
message.setRecipient(javax.mail.Message.RecipientType.TO, new InternetAddress(to));
//设置标题
message.setSubject(subject);
//创建正文
MimeBodyPart text=new MimeBodyPart();
//设置内容
text.setContent(content,"text/html;charset=UTF8");
//创建一个图片
MimeBodyPart image=new MimeBodyPart();
//从本地absoluteImagePath文件读取
DataHandler dh=new DataHandler(new FileDataSource(absoluteImagePath));
image.setDataHandler(dh);
//设置图片的contentId
image.setContentID(contentId);
//创建容器描述数据关系
javax.mail.internet.MimeMultipart mm=new MimeMultipart();
//容器添加内容
mm.addBodyPart(text);
//容器添加图片
mm.addBodyPart(image);
mm.setSubType("related");
message.setContent(mm);
message.saveChanges();
//存储创建的邮件
message.writeTo(new FileOutputStream("F:/imagemail.eml"));
ts.sendMessage(message, message.getAllRecipients());
ts.close();
} catch (Exception e) {
e.printStackTrace();
result=false;
}
return result;
}
//发送带附件的邮件
public static boolean sendAttachMail(String from,String to,String subject,String content,List absoluteFilePathList) throws Exception{
boolean result=true;
try {
Properties prop=new Properties();
prop.setProperty("mail.host", mail_host);
prop.setProperty("mail.transport.protocol", mail_transport_protocol);
prop.setProperty("mail.smtp.auth", mail_smtp_auth);
Session session=Session.getInstance(prop);
//设置为debug模式 ,生产环境应该关掉
//session.setDebug(true);
//获得transport对象
Transport ts=session.getTransport();
//连接邮件服务器
ts.connect(mail_host,port, username,password);
//创建邮件
MimeMessage message=new MimeMessage(session);
//设置发送人
message.setFrom(new InternetAddress(from));
//设置接收人
message.setRecipient(Message.RecipientType.TO, new InternetAddress(to));
//设置主题
message.setSubject(subject);
//创建正文
MimeBodyPart text=new MimeBodyPart();
//设置正文内容
text.setContent(content,"text/html;charset=UTF-8");
//创建容器描述关系
MimeMultipart mp=new MimeMultipart();
//添加正文
mp.addBodyPart(text);
for(int i=0;i
//创建附件
MimeBodyPart attach=new MimeBodyPart();
DataHandler dh=new DataHandler(new FileDataSource(absoluteFilePathList.get(i)));
attach.setDataHandler(dh);
attach.setFileName(dh.getName());
//容器添加附件
mp.addBodyPart(attach);
}
mp.setSubType("mixed");
message.setContent(mp);
message.saveChanges();
//保存邮件至F盘
message.writeTo(new FileOutputStream("F:/attachMail.eml"));
ts.sendMessage(message, message.getAllRecipients());
ts.close();
} catch (Exception e) {
e.printStackTrace();
result=false;
}
return result;
}
}
追问
兄弟你没发完啊
已赞过
已踩过<
你对这个回答的评价是?
评论
收起
java邮箱发送_java邮箱发送报错相关推荐
- java邮件发送报错: Couldn‘t connect to host, port: smtp.exmail.qq.com, 25; timeout -1
java邮件发送报错: Couldn't connect to host, port: smtp.exmail.qq.com, 25; timeout -1 1,发送邮件代码 2,报错原因 1,发送邮 ...
- 阿里短信发送报错 InvalidTimeStamp.Expired
InvalidTimeStamp.Expired : Specified time stamp or date value is expired. 阿里短信发送报错 原因分许 解决方法 阿里短信发送报 ...
- java企业邮箱发送_java使用网易163企业个性域名邮箱发送邮件教程
本文作者具有著作权,转载前倾注明来源:留在青山的博客 在我的很久之前的一篇博文里,我使用简单的代码 实现了java发送126邮箱邮件的功能,但是今天我自己注册了一个个性化的域名,我想通过我自己的域名邮 ...
- Java文件如何用qq邮箱发送_java中怎么发送复杂的邮件?在QQ邮箱中怎么操作?
上次我们已经介绍过,如何实现纯文本发送邮件.今天再来为大家介绍下,在java中怎么发送复杂的邮件,以及在QQ邮箱中的具体操作流程. 首先我们来了解一下,MIME(多用途互联网邮件扩展类型).它分为两类 ...
- 如何使用Java来发送企业邮箱,并设计收到邮件的样式
最近再给公司写一个发送邮件的系统,收到同事反馈说收到的默认样式太丑了,于是我钻研了一下,设计了一下自己的邮箱前端样式,于是特此写下这篇文章 一.搭建环境 相信大家也在其余的博客中学习到了怎么使用qq邮 ...
- Java邮件发送QQ邮箱带附件
添加依赖 <!-- https://mvnrepository.com/artifact/javax.mail/mail --><dependency><groupId& ...
- java 邮件发送_Java 基于JavaMail的邮件发送
http://blog.csdn.net/xietansheng/article/details/51673073 http://blog.csdn.net/xietansheng/article/d ...
- android将拦截短信通过邮箱发送,网易邮箱Android客户端推出 加速布局移动互联网...
继网易邮箱5.0版本发布后,网易邮件事业部又迅速推出重要的移动互联网战略产品--网易邮箱Android客户端.此前,网易在移动端上已陆续推出适配iPhone/iPad/Android系统的网页版智能邮 ...
- java中邮箱发送_java实现邮箱发送(java mail)
导包:mail.jar import java.util.Properties; import javax.mail.Message; import javax.mail.Message.Recipi ...
最新文章
- PCB常见的拓扑结构 (转)
- win7删除桌面文件后手动刷新才会消失的解决方法
- python 学习手册重点
- 挂了三次科目二的我,竟被一台智能车征服 | 威马W6停车挑战
- 修改Win7远程桌面端口
- 将多张图片转成gif
- 添加css单词换行连字符
- 网站技术架构发展之我见--[引子]
- html如何加入浮动客服,css如何实现客服悬浮效果
- 读论文 + 总结 + 笔记
- HBuilderX连接安卓模拟器
- 《岳阳楼记》古文鉴赏
- uniapp 获取到当前位置信息显示在地图上
- 有趣的表情包购物网站
- 通达信指标函数说明大全(2014)(转)
- Android打开QQ临时会话和打开群聊
- 基于JAVA二次元文化网站计算机毕业设计源码+系统+lw文档+部署
- 通过itextpdf操作PDF,动态向PDF文件最后一页添加图片
- java毕业设计——基于java+Socket+sqlserver的办公自动化系统设计与实现(毕业论文+程序源码)——办公自动化系统
- 软件需求分析课堂讨论01
热门文章
- Leetcode.912 排序数组
- python cron_cron表达式
- html倒计时代码执行操作,JS实现十分钟倒计时代码实例
- android 拷贝list,Android开发实践:拷贝assets到sdcard
- VPN突然用不了了咋回事
- unity 畸变_摄像机成像、畸变模型
- Uncaught Error: Script error for popper.js, needed by: bootstrap 解决方案
- poi导出excel,行相同数据自动合并单元格
- domContentLoaded事件和onload事件
- 2011年国外最受欢迎的15个交友网站