java Mail如何发送邮件
1.应用场景:在系统需要发送与用户相关的消息时,而用户不在线,可以采取发送邮件的方式,使用户了解最新的系统情况 或者发送验证码等验证场景
2.实验环境 主要使用mail.jar和activation.jar两个包
3.使用一份简单的邮件
public void sendMail() throws AddressException, MessagingException{
/*
* 1.得到session
*/ Properties properties=new Properties();
properties.setProperty("mail.host", "smtp.163.com");
properties.setProperty("mail.smtp.auth", "true"); //账户信息测试
Authenticator auth =new Authenticator() { @Override
protected PasswordAuthentication getPasswordAuthentication() {
return new PasswordAuthentication("zhou_s1", "xxx");
//这里是账户名和密码
}
}; Session session =Session.getInstance(properties,auth);
/*
* 2.创建消息message
*/
MimeMessage message=new MimeMessage(session); message.setFrom(new InternetAddress("zhou_s1@163.com"));//设置发件人
message.setRecipients(RecipientType.TO, "583350208@qq.com");//设置收件人
//message.setRecipients(RecipientType.CC, "teacher.z@qq.com");//设置抄送
//message.setRecipients(RecipientType.BCC, "583350208@qq.com");//暗送给谁 message.setSubject("这一份来自周松测试的垃圾邮件--javamail");
message.setContent("test test test !!!","text/html;charset=utf-8"); /*
* 3.发送
*/
Transport.send(message);
}
4.一份带有附件的邮件
public void sendMailMore() throws AddressException, MessagingException, IOException{
/*
* 1.得到session
*/ Properties properties=new Properties();
properties.setProperty("mail.host", "smtp.163.com");
properties.setProperty("mail.smtp.auth", "true"); //账户信息测试
Authenticator auth =new Authenticator() { @Override
protected PasswordAuthentication getPasswordAuthentication() {
return new PasswordAuthentication("zhou_s1", "xxx");
}
}; Session session =Session.getInstance(properties,auth); /*
* 2.创建消息message
*/
MimeMessage message=new MimeMessage(session); message.setFrom(new InternetAddress("zhou_s1@163.com"));//设置发件人
message.setRecipients(RecipientType.TO, "583350208@qq.com");//设置收件人 message.setSubject("这是一份含有附件的邮件---测试使用--javamail"); /******************************************************/
/*
* 附件的主体流程 附件含有多个组成部分 简称多部件
*
*/
MimeMultipart list =new MimeMultipart(); //1.邮件主要内容 MimeBodyPart
MimeBodyPart part1 =new MimeBodyPart(); //1.1.内容
part1.setContent("一份含有附件的测试邮件", "text/html;charset=utf-8"); //1.2将主体添加到邮件中去
list.addBodyPart(part1); //2.1.邮件附件里面的内容
MimeBodyPart part2 =new MimeBodyPart(); //2.2.附件
File file =new File("G:/JAVAtest/Merge.mp3"); part2.attachFile(file);
part2.setFileName(MimeUtility.encodeText("Merge.mp3"));
//2.3将主体添加到邮件中去
list.addBodyPart(part2); //3.最后将多部件添加到消息中去
message.setContent(list); //发送
Transport.send(message);
}
测试完毕!
java Mail如何发送邮件的更多相关文章
- Android使用Java Mail API发送邮件
最近在考虑为已经有的一个应用程序增加一个用户反馈的功能,用户可以通过反馈功能将用户的意见和建议.程序出现的问题以一种更符合用户习惯的方式反馈回来.网上也有一些实现好的反馈程序的服务,包括bug的提交. ...
- java mail 使用 gmail smtp 发送邮件
smtp 服务器:smtp.gmail.com 使用ssl的端口:465 用户名:username@gmail.com 密码:password** 基本配置没有问题,关键在于Google对安全性要求非 ...
- java mail使用中遇到的550类型错误
前言 首先,需要说明的是,本错误来自于一个简单的基于java mail的api程序,邮件服务器是163的SMTP,即smtp.163.com. 程序 需要说明一下,下面这个程序,是来自于网络上,本人为 ...
- Java使用javax.mail.jar发送邮件并同意发送附件
因为Java在开发网页上占有绝大优势.所以作为web端的领军人物,譬如发送短信和发送邮件这些就成了必定,网络安全一再安全我们须要把账号的安全级别提到更高.因此这些对于开发者也就成了必须掌握的技能!我一 ...
- 简单的java mail发送邮件实例
mail.jar ,commons-email-X.X.jar ,activation.jar ,log4j.jar 这四个jar,放进项目里 下载地址 http://www.oracle.com/ ...
- Spring Boot 揭秘与实战(七) 实用技术篇 - Java Mail 发送邮件
文章目录 1. Spring Boot 集成 Java Mail 2. 单元测试 3. 源代码 Spring 对 Java Mail 有很好的支持.因此,Spring Boot 也提供了自动配置的支持 ...
- 基于java mail实现简单的QQ邮箱发送邮件
刚学习到java邮件相关的知识,先写下这篇博客,方便以后翻阅学习. -----------------------------第一步 开启SMTP服务 在 QQ 邮箱里的 设置->账户里开启 S ...
- java mail Received fatal alert: handshake_failure java 无法发送邮件问题 java 发送qq邮件(含源码)
java 无法发送邮件问题 java 发送qq邮件 报错:java mail Received fatal alert: handshake_failure (使用ssl) javax.mail.M ...
- Android Java Mail与Apache Mail发送邮件对比
原文链接: 一.邮件简介 一封邮件由很多信息构成,主要的信息如下,其他的暂时不考虑,例如抄送等: 1.收件人:收件人的邮箱地址,例如xxx@xx.com 2.收件人姓名:大部分的邮件显示时都会显 ...
随机推荐
- 简单的JavaScript字符串加密解密
简单的JavaScript字符串加密解密 <div> <input type="text" id="input" autofocus=&quo ...
- MySQL之mysqldump的使用
一.mysqldump 简介 mysqldump 是 MySQL 自带的逻辑备份工具. 它的备份原理是通过协议连接到 MySQL 数据库,将需要备份的数据查询出来,将查询出的数据转换成对应的inser ...
- unityshader(属性)
_Color("Color",Color)=(1,1,1,1)//RGBA _Vector("vector",Vector)=(1,2,3,4) //,fixe ...
- C# - AutoMapper之不同类型的转换
一.Dto & Model约定 class TestDto { public string Name { get; set; } public int Age { get; set; } pu ...
- Python实现的一些常见简单问题(持续更新)
提纲: 1.汉诺塔 2.找到某个范围内的所有质数 3.杨辉三角 4.用闭包实现一个计数器,调用一次计数器加1 5.将类构造成可迭代对象,实现斐波那契数列 ...... 1.汉诺塔(汉诺塔) 用递归函数 ...
- Java之封装,继承,多态
一,前言 今天总结一下关于Java的三大特性,封装,继承,多态.其实关于三大特性对于从事编程人员来说都是基本的了,毕竟只要接触Java这些都是先要认识的,接下来就系统总结一下. 二,封装 先来 ...
- matplotlib 库的使用
1.问题描述: 在学习kaggle经典学习项目Titanic,进行数据可视化处理时,对于每个特征进行相关性分析(也就是绘制pearson correlation heatmap )热力相关性矩阵时, ...
- KDTree 板子
从杨哥哪里偷的板子, 存一下. #include<bits/stdc++.h> using namespace std; #define Fopen freopen("_in.t ...
- codeforces 14E. Camels(多维dp)
题目链接:http://codeforces.com/problemset/problem/14/E 题意:就是给出n个点要求画出t个波峰和t-1个波谷 很显然要t个波峰和t-1个波谷开始是波动一定是 ...
- CF981B Businessmen Problems map 模拟 二十二
Businessmen Problems time limit per test 2 seconds memory limit per test 256 megabytes input standar ...