java 邮件发送 demo_Java 邮件发送Demo
1、首先在项目中导入jar包,我用的是mail-1.4.jar
2、一下是我的代码:
public class SendMailUtil {
private static final Logger logger = Logger.getLogger(SendMailUtil.class);
// 定义发件人、收件人、主题等
private String to = null;// 收件人邮箱地址
private String from = null;// 发件人邮箱地址
private String password = null;//发件人密码
private String host = null;//邮件服务器
private String filename = null;
// 用于保存发送附件的文件路径名的集合
private Vector fileList = new Vector();
/*
* 可以传发件人等参数的构造
*/
public SendMailUtil(String to, String from, String password,
String smtpServer) {
// 初始化发件人、收件人、主题等
this.to = to;
this.from = from;
this.password = password;
this.host = smtpServer;
}
/*
* 该方法用于收集附件名
*/
public void attachfile(String fname) {
fileList.addElement(fname);
}
/*
* 开始发送信件的方法
*/
public boolean startSend(String emailTitle, String emailContent) {
if (StringUtils.isBlank(emailContent)) {
logger.error("邮件内容不能为空!");
return false;
}
try {
if (StringUtils.isBlank(emailContent)) {
throw new NullPointerException("发送的内容不能为空!");
}
// 创建Properties对象
Properties props = System.getProperties();
// 创建信件服务器
props.put("mail.smtp.auth", "true");
props.put("mail.smtp.host", host);
props.put("mail.smtp.password", "0");
// 得到默认的对话对象
Session session = Session.getInstance(props,
new PopupAuthenticator(this.from, this.password));
// 创建一个消息,并初始化该消息的各项元素
MimeMessage msg = new MimeMessage(session);
msg.setFrom(new InternetAddress(from));
InternetAddress[] address = { new InternetAddress(to) };
msg.setRecipients(Message.RecipientType.TO, address);
// getBytes("ISO-8859-1")
// String title=new String(emailTitle.getBytes("ISO-8859-1"),"GBK");
msg.setSubject(emailTitle);
// 后面的BodyPart将加入到此处创建的Multipart中
Multipart mp = new MimeMultipart("subtype");
// 添加HTML正文
BodyPart htmlBody = new MimeBodyPart();
MimeMultipart htmlContent = new MimeMultipart("related");
BodyPart msgContent = new MimeBodyPart();
htmlContent.addBodyPart(msgContent);
msgContent.setContent(emailContent, "text/html;charset=utf-8");
htmlBody.setContent(htmlContent);
mp.addBodyPart(htmlBody);
// 利用枚举器方便的遍历集合
Enumeration efile = fileList.elements();
// 检查序列中是否还有更多的对象
while (efile.hasMoreElements()) {
MimeBodyPart mbp = new MimeBodyPart();
// 选择出每一个附件名
filename = efile.nextElement().toString();
// 得到数据源
FileDataSource fds = new FileDataSource(filename);
// 得到附件本身并至入BodyPart
mbp.setDataHandler(new DataHandler(fds));
// 得到文件名同样至入BodyPart
mbp.setFileName(fds.getName());
mp.addBodyPart(mbp);
}
// 移走集合中的所有元素
fileList.removeAllElements();
// Multipart加入到信件
msg.setContent(mp);
// 设置信件头的发送日期
msg.setSentDate(new Date());
// 发送信件
Transport.send(msg);
} catch (Exception e) {
e.printStackTrace();
return false;
}
return true;
}
// 认证类
class PopupAuthenticator extends Authenticator {
private String username ;
private String password ;
public PopupAuthenticator(String user, String pass) {
this.username = user;
this.password = pass;
}
protected PasswordAuthentication getPasswordAuthentication() {
return new PasswordAuthentication(username, password);
}
}
//测试
public static void main(String[] args) {
SendMailUtil mail = new SendMailUtil("[email protected]",
"[email protected]","123456", "smtp.163.com");
mail.attachfile("C:\\Users\\awen\\Desktop\\a.txt");
mail.startSend("交接文档","收到请回复");
System.out.println("邮件发送完成...");
}
3、测试成功,大家可以试一下。
原文:http://my.oschina.net/u/1453975/blog/318528
java 邮件发送 demo_Java 邮件发送Demo相关推荐
- java批量下载demo_Java批量入库Demo
java中往数据库批量插入数据Demo java代码: //入库数据是需要批量入库的List int len =入库数据.size(); //每次循环10条 int incremnet = 10; / ...
- 【Java EE 学习 21 下】【使用java实现邮件发送、邮件验证】
一.邮件发送 1.邮件发送使用SMTP协议或者IMAP协议,这里使用SMTP协议演示. SMTP协议使用的端口号:25 rfc821详细记载了该协议的相关信息 (1)使用telnet发送邮件(使用12 ...
- Java中利用qqemai发送QQ邮件
最近自己了解下Java中利用mai发送QQ邮件 1.QQ邮箱设置 1.1 进去QQ邮箱-->设置-->账号-->进行设置如下图 以下源码 package test; import j ...
- java 发送qq邮件
发送qq邮件的简单demo 一: 在myEclipse中创建一个java项目 1:直接将该文件引入到src , 2:将activation.ja ...
- java发送简单邮件_Java程序实现发送简单文本邮件
/** * Java程序实现发送简单文本邮件 * * @author Administrator * */ public class SendTextMail { // 定义发件人地址 public ...
- Java发送邮件工具类(可发送匿名邮件)
为什么80%的码农都做不了架构师?>>> 为了不想到处去下载jar包,我使用maven为我管理,在开始编码这些东西之前,我们先在pom.xml文件中<dependenci ...
- java邮件支持_使用Spring的JAVA Mail支持简化邮件发送功能
闲来无事,翻看<Spring in Action>,发现Spring集成了对JAVA Mail的支持,有点小激动的看了一遍,嗯,话说真的简单了很多. Spring的邮件发送的核心是Mail ...
- java 发邮件_java实现邮件的发送
文章所用jar文件 链接:https://pan.baidu.com/s/1YaxhdkaCTC4TUDL-y9-ASQ 提取码:30ow 程序入口,发送工具类 package test; impor ...
- java发送outlook邮件_通过Java代码发送OutLook邮件
准备 我们想通过Java代码实现发送OutLook邮件,必须准备以下材料: OutLook邮箱 目标邮箱 查看OutLook邮箱信息 打开OutLook邮箱,在Settings中搜索或找到SMTP: ...
- java 发送邮件昵称_利用JavaMail发送QQ邮件
一.RFC882文档简单说明 RFC882文档规定了如何编写一封简单的邮件(纯文本邮件),一封简单的邮件包含邮件头和邮件体两个部分,邮件头和邮件体之间使用空行分隔. 邮件头包含的内容有: from字段 ...
最新文章
- 解决方案:__init__() got an unexpected keyword argument ‘kill_previous‘
- ICCV2021论文全汇总!附下载链接
- 关于apache camel的消息转发效率
- Codeforces 1009D:Relatively Prime Graph
- ASP.NET跨页面传值(二)
- 9.Python基础 面向对象的进一步拓展
- 《死亡笔记》与绵球方块先生
- linq to xml 操作sitemap
- 三个变量存在一个协整方程_存在多个协整关系,如何取舍?
- 【clickhouse】ClickHouse官方中文文档 阅读笔记
- Java 笔试强训 牛客网选择编程题 01
- 转:百度手机地图网络性能优化实践
- 送给那些渐渐远离的朋友(转载)
- keras提取模型中的某一层_Keras做图片分类(四):迁移学习--猫狗大战实战
- 基础篇:数据库 SQL 入门教程
- 计算机常见故障英语,常见电脑黑屏(有英文字母)的解决办法
- itunes安装失败 “apple应用程序支持安装失败”
- 开源项目学习之(一)------zheng环境搭建
- UE4 pak 热加载
- OpenSSL安全特征问题漏洞(CVE-2022-2068)版本1.0.2k-fips升级到3.0.5
热门文章
- 【题解】Luogu P3871 [TJOI2010]中位数
- 2-17 numpy模块使用
- [BZOJ4540][HNOI2016]序列(莫队)
- 接口测试基础——第6篇unittest模块(三)
- 【入门二】格式化输入/输出
- 工具-管理工具资源集合
- [导入]agtweener.zip(673.46 KB)
- Web Part加载错误的一点经验
- 拓端tecdat|R语言非参数模型厘定保险费率:局部回归、广义相加模型GAM、样条回归
- 拓端tecdat|如何用R语言绘制生成正态分布图表