java使用javax.mail进行免费的邮件发送
1. 建议发送方使用阿里云邮箱https://mail.aliyun.com/,阿里云默认是开启个人邮箱pop3、smtp协议的,所以无需在阿里云邮箱里设置,pop3、smtp的密码默认邮箱登录密码,没有可以去申请一个。
如果要使用别的邮箱,可以自行查询对应邮箱怎么开启smtp协议。
2.pom.xml中引入javax.mail的jar包,这里使用1.4.7版本。
<!-- javax mail -->
<dependency>
<groupId>javax.mail</groupId>
<artifactId>mail</artifactId>
<version>1.4.7</version>
</dependency>
3.新建MailSend类:
package com.jarfk.util.email; import javax.mail.Message;
import javax.mail.MessagingException;
import javax.mail.Session;
import javax.mail.Transport;
import javax.mail.internet.InternetAddress;
import javax.mail.internet.MimeMessage;
import javax.mail.internet.MimeUtility;
import java.io.File;
import java.io.UnsupportedEncodingException;
import java.util.Properties; /**
* Created by Administrator on 2017/9/29 0029.
*/
public class MailSend {
private static final String EMAIL_OWNER_ADDR_HOST = "smtp.aliyun.com"; //smtp.163.com smtp.aliyun.com smtp.qq.com
private static final String EMAIL_OWNER_ADDR = "xxx@aliyun.com";
private static final String EMAIL_OWNER_ADDR_PASS = "xxx"; public static void sendMail(String title, String email, String content) throws MessagingException {
Properties prop = new Properties();
prop.put("mail.host", EMAIL_OWNER_ADDR_HOST);
prop.put("mail.transport.protocol", "smtp");
prop.put("mail.smtp.auth", "true");
//如果不加下面的这行代码 windows下正常,linux环境下发送失败,解决:http://www.cnblogs.com/Harold-Hua/p/7029117.html
prop.setProperty("mail.smtp.ssl.enable", "true");
//使用java发送邮件5步骤
//1.创建sesssion
Session session = Session.getInstance(prop);
//开启session的调试模式,可以查看当前邮件发送状态
//session.setDebug(true); //2.通过session获取Transport对象(发送邮件的核心API)
Transport ts = session.getTransport();
//3.通过邮件用户名密码链接,阿里云默认是开启个人邮箱pop3、smtp协议的,所以无需在阿里云邮箱里设置
ts.connect(EMAIL_OWNER_ADDR, EMAIL_OWNER_ADDR_PASS); //4.创建邮件
//创建邮件对象
MimeMessage mm = new MimeMessage(session);
//设置发件人
mm.setFrom(new InternetAddress(EMAIL_OWNER_ADDR));
//设置收件人
mm.setRecipient(Message.RecipientType.TO, new InternetAddress(email));
//设置抄送人
//mm.setRecipient(Message.RecipientType.CC, new InternetAddress("XXXX@qq.com")); //mm.setSubject("吸引力注册邮件");
mm.setSubject(title); //mm.setContent("您的注册验证码为:<b style=\"color:blue;\">0123</b>", "text/html;charset=utf-8");
mm.setContent(content, "text/html;charset=utf-8"); // true表示开始附件模式 -----------------------------------------------------------------------
/*MimeMessageHelper messageHelper = new MimeMessageHelper(mm, true, "utf-8");
// 设置收件人,寄件人
messageHelper.setTo(email);
messageHelper.setFrom(EMAIL_OWNER_ADDR);
messageHelper.setSubject(title);
// true 表示启动HTML格式的邮件
messageHelper.setText(content, true); FileSystemResource file1 = new FileSystemResource(new File("d:/rongke.log"));
FileSystemResource file2 = new FileSystemResource(new File("d:/新建文本文档.txt"));
// 添加2个附件
messageHelper.addAttachment("rongke.log", file1);
try {
//附件名有中文可能出现乱码
messageHelper.addAttachment(MimeUtility.encodeWord("新建文本文档.txt"), file2);
} catch (UnsupportedEncodingException e) {
e.printStackTrace();
throw new MessagingException();
}*/
//-------------------------------------------------------------------------------------------
//5.发送电子邮件 ts.sendMessage(mm, mm.getAllRecipients());
} public static void main(String[] args) throws MessagingException {
//sendMail("吸引力注册邮件", "xxx@qq.com", "您的注册验证码为:<b style=\"color:blue;\">651899</b>");
sendMail("吸引力", "xxx@qq.com", "spring boot 邮件测试");
}
}
java使用javax.mail进行免费的邮件发送的更多相关文章
- Java使用javax.mail.jar发送邮件并同意发送附件
因为Java在开发网页上占有绝大优势.所以作为web端的领军人物,譬如发送短信和发送邮件这些就成了必定,网络安全一再安全我们须要把账号的安全级别提到更高.因此这些对于开发者也就成了必须掌握的技能!我一 ...
- 免费超大量邮件发送服务Amazon SES和Mailgun提供SMTP和API支持
一般来说网站注册.论坛消息.新闻推送.广告宣传等都会有发送邮件服务,大量的邮件发送服务如果用PHP来发送,一是会消耗主机资源,二是容易被各大邮箱判定为垃圾邮件而被拒收.用第三方的邮局服务发送邮件,可以 ...
- 利用System.Net.Mail和多线程实现邮件发送
对于邮件发送,一般来说,程序会响应超过1秒,这样对于用户体验来说,让用户等待的时间过长,而且发送的邮件越多时间就越长,所以这里我利用了线程的来处理邮件发送这种耗时的工作,废话不多说,直接上代码 pri ...
- Java Mail邮件发送的简单实现
1.什么是java mail JAVA MAIL是利用现有的邮件账户发送邮件的工具,通过JAVA Mail的操控,让程序自动的使用设置的邮箱发送邮件. 这一机制被广泛的用在注册激活和垃圾邮件的发送等方 ...
- java mail邮件发送(带附件) 支持SSL
java mail邮件发送(带附件)有三个类 MailSenderInfo.java package mail; import java.util.Properties; import java.ut ...
- Java 基于mail.jar 和 activation.jar 封装的邮件发送工具类
准备工作 发送邮件需要获得协议和支持! 开启服务 POP3/SMTP 服务 如何开启 POP3/SMTP 服务:https://www.cnblogs.com/pojo/p/14276637.html ...
- Java 使用 mail.jar 实现邮件发送
目录 准备工作 使用到的 jar 包 实现代码 准备工作 要想实现邮件发送, 需要先打开发送邮箱的 POP3/SMTP 服务,打开方式在 设置>帐户 中去打开,打开之后如果是qq邮箱会获得一个授 ...
- JAVA实用案例之邮件发送
最近有朋友问邮件怎么发送,就简单写了个demo,因为懒得找jar包,所以项目是创建的maven工程,具体的maven引用的jar如下: <dependency> <groupId&g ...
- 基于JavaMail的Java邮件发送:复杂邮件发送
参考:http://blog.csdn.net/xietansheng/article/details/51722660package com.bfd.ftp.utils;import java.ut ...
随机推荐
- maven 打包时提示 软件包 xxxxxxx 不存在
右键项目->MAVEN->Update Project Configuration然后clean相关项目再打包如果还不行 在你关联包的路径下 把所有文件删掉 在打包的时候会重新下载 ...
- 设计模式之策略模式(iOS开发,代码用Objective-C展示)
在实际开发过程中,app需求都是由产品那边给出,往往是他给出第一版功能,我们写好代码后,会相应的给出第二版.第三版功能,而这些功能是在实际使用中,根据用户需求而不断增加的.如果在编码之初,我们并未认识 ...
- poj1753(位运算压缩状态+bfs)
题意:有个4*4的棋盘,上面摆着黑棋和白旗,b代表黑棋,w代表白棋,现在有一种操作,如果你想要改变某一个棋子的颜色,那么它周围(前后左右)棋子的颜色都会被改变(白变成黑,黑变成白),问你将所有棋子变成 ...
- bzoj1103【POI2007】大都市meg
1103: [POI2007]大都市meg Time Limit: 10 Sec Memory Limit: 162 MB Submit: 1544 Solved: 776 [Submit][St ...
- mac上使用zsh配置环境变量
Mac配置环境变量的地方 一./etc/profile (建议不修改这个文件 ) 全局(公有)配置,不管是哪个用户,登录时都会读取该文件. 二./etc/bashrc (一般在这个文件中添加系统级环境 ...
- Where-To-Put-The-Auto-Layout-Code(AutoLayout代码应该放在哪里?)
Where-To-Put-The-Auto-Layout-Codehtml, body {overflow-x: initial !important;}html { font-size: 14px; ...
- 【WPF】添加自定义字体
需求:在WPF项目中使用幼圆字体. 步骤: 1.首先要有幼圆TTF字体文件.在C:\Windows\Fonts目录下找,如果系统字体库中没有,就上网下一份,如这里或这里. 2.将字体文件复制到WPF项 ...
- <漫步华尔街——股市历久弥新的成功投资策略>读书笔记
书在这里 随机游走是指基于过去的表现,无法预测将来的发展步骤和方向. 仅仅为了达到盈亏相抵点,你的投资回报率至少也要等于通货膨胀率 磐石理论认为,无论是普通股票还是不动产,每一种投资工具都具有被称为“ ...
- [加密]ESP32 -Secure Boot 安全方案
转自:https://blog.csdn.net/espressif/article/details/79362094 Secure Boot 功能概述 方案概述 Secure Boot 的目的是保证 ...
- CPP_类默认函数:构造函数,拷贝构造函数,赋值函数和析构函数
类默认函数:构造函数,拷贝构造函数,赋值函数和析构函数 // person.h #ifndef _PERSON_H_ #define _PERSON_H_ class Person{ public : ...