java之mail发送
一、邮箱的应用在实际的Java开发过程中,也是非常常见的。我这里就是写了一个简单的邮箱发送功能。
二、邮箱的基本配置,使用的是JavaMailSender的提供的方式来实现邮件的发送
1)qq邮箱的配置(说明一点目前qq邮箱的配置方式都是采用ssl的方式来实现的,非ssl的方式没有测试成功)
package com.troy.jpa.config; import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.mail.javamail.JavaMailSender;
import org.springframework.mail.javamail.JavaMailSenderImpl; import java.util.Properties; @Configuration
public class MailConfiguration { @Bean
public JavaMailSender javaMailSender() {
//设置JavaMail的基本数据
JavaMailSenderImpl javaMailSender = new JavaMailSenderImpl();
//host官方查询
javaMailSender.setHost("smtp.qq.com");
//端口465ssl
javaMailSender.setPort();
//设置账户,密码
javaMailSender.setUsername("409546297@qq.com");
javaMailSender.setPassword("密码");
//认证数据配置,ssl方式需要加入认证方式
Properties properties = new Properties();
properties.setProperty("mail.host", "smtp.qq.com");
properties.setProperty("mail.transport.protocol", "smtp");
properties.setProperty("mail.smtp.auth", "true");
properties.setProperty("mail.smtp.socketFactory.class", "javax.net.ssl.SSLSocketFactory");
properties.setProperty("mail.smtp.port", "");
properties.setProperty("mail.smtp.socketFactory.port", "");
javaMailSender.setJavaMailProperties(properties);
return javaMailSender;
}
}
注意:这里的密码不是我们一般登录的密码,而是授权码

2)163邮箱有2中配置方式
a、ssl的的连接方式
package com.troy.jpa.config; import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.mail.javamail.JavaMailSender;
import org.springframework.mail.javamail.JavaMailSenderImpl; import java.util.Properties; @Configuration
public class MailConfiguration { @Bean
public JavaMailSender javaMailSender() {
JavaMailSenderImpl javaMailSender = new JavaMailSenderImpl();
javaMailSender.setHost("smtp.163.com");
javaMailSender.setPort();
javaMailSender.setUsername("账号");
javaMailSender.setPassword("密码");
Properties properties = new Properties();
properties.setProperty("mail.host", "smtp.163.com");
properties.setProperty("mail.transport.protocol", "smtp");
properties.setProperty("mail.smtp.auth", "true");
properties.setProperty("mail.smtp.socketFactory.class", "javax.net.ssl.SSLSocketFactory");
properties.setProperty("mail.smtp.port", "");
properties.setProperty("mail.smtp.socketFactory.port", "");
javaMailSender.setJavaMailProperties(properties);
return javaMailSender;
}
}
b、非ssl的连接方式
package com.troy.jpa.config; import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.mail.javamail.JavaMailSender;
import org.springframework.mail.javamail.JavaMailSenderImpl; @Configuration
public class MailConfiguration { @Bean
public JavaMailSender javaMailSender() {
JavaMailSenderImpl javaMailSender = new JavaMailSenderImpl();
javaMailSender.setHost("smtp.163.com");
javaMailSender.setPort();
javaMailSender.setUsername("账号");
javaMailSender.setPassword("密码");
return javaMailSender;
}
}
3)这个是采用注解的方式,自己也可以采用xml的配置方式,自己随意
4)应用,邮件的发送
package com.troy.jpa.util; import org.springframework.context.support.ClassPathXmlApplicationContext;
import org.springframework.mail.SimpleMailMessage;
import org.springframework.mail.javamail.JavaMailSender; public class MailUtil { public static void main(String[] args) {
sendMail("收件人邮箱","test","test");
} public static void sendMail(String mail, String title, String text) {
//加载容器
ClassPathXmlApplicationContext context = new ClassPathXmlApplicationContext("classpath:spring/spring-mvc.xml");
//获取bean
JavaMailSender javaMailSender = (JavaMailSender) context.getBean("javaMailSender");
//建立邮箱模板
SimpleMailMessage mailMessage = new SimpleMailMessage();
//设置发送人的账号
mailMessage.setFrom("发送人账号(和登录的账号一样)");
//设置接收人的账号
mailMessage.setTo(mail);
//设置主题
mailMessage.setSubject(title);
//设置内容
mailMessage.setText(text);
//发送邮件
javaMailSender.send(mailMessage);
}
}
java之mail发送的更多相关文章
- 解决java mail发送TXT附件被直接显示在正文中的问题
这两天遇到一个问题,关于使用java mail发送邮件的问题. 详细是这样子的:我使用java mail发送异常报告邮件,邮件中有一个包含异常日志的附件,和关于设备信息的邮件正文.假设日志为log后缀 ...
- java代码如何发送QQ邮件
近来想写一个qq之间互相发送邮件的工具.奈何一直报错服务错误: org.apache.commons.mail.EmailException: Sending the email to the fol ...
- 用java实现邮件发送验证码
java实现邮件发送验证码 建议不要用qq邮箱,我使用qq邮箱直接一直给我报530错误,我一直认为我代码写的有错误或者POP3/SMTP服务没弄好.所以建议注册个别的邮箱,我就申请了个网易163邮箱瞬 ...
- web基础---->java邮件的发送
这里记录一下关于java邮件发送代码的编写.你在我身边也好,在天边也罢,想到世界的角落有一个你,觉得整个世界也变得温柔安定了. java邮件的发送 一.直接贴出代码,如下: package com.c ...
- Java实现邮件发送
概述 Spring Boot下面整合了邮件服务器,使用Spring Boot能够轻松实现邮件发送:整理下最近使用Spring Boot发送邮件和注意事项: Maven包依赖 <depende ...
- 纯java实现邮件发送服务(亲测好用)
今天自己测试了一下用java代码实现发送有限的服务,非常简单.直接贴代码: import com.sun.mail.util.MailSSLSocketFactory; import javax.ma ...
- 工具类学习-java实现邮件发送激活码
问题:用java实现服务器发送激活码到用户邮件. 步骤一:如果是个人的话,确保在本地安装邮件服务器(易邮服务器)和邮件客户端(foxmail). 步骤二:导入jar包 mail.jar,其他的需要什 ...
- linux使用mail发送外部smtp邮件
linux使用mail发送外部smtp邮件 第一章 说明 参考资料: http://coolnull.com/2614.html linux自带的mail可以实现外部smtp发邮件.不需要本地配置po ...
- JAVA使用Logback发送日志到控制台、文件、ELK的最简单用法
一.简述 本文讲JAVA使用Logback发送日志到控制台.文件.ELK的最简单用法. 二.教程 1.新建pom.xml项目引入下列依赖: <dependencies> <!--Be ...
随机推荐
- 【转载】解决telnet无法连接 Connection refused
原文:解决telnet无法连接 Connection refused telnet协议是TCP/IP协议族中的一员,是Internet远程登陆服务的标准协议和主要方式.它为用户提供了在本地计算机上完成 ...
- [BZOJ1257][CQOI2007]余数之和
题目大意 给你 \(n, k\),计算 $ \sum_{i=1}^n k \bmod i$ 解析 注意到 $ k\bmod i=k-[k/i] \times i$ 则上式等于 $ n \times k ...
- R语言数据去重
R语言常用的去重命令有unique duplicated unique主要是返回一个把重复元素或行给删除的向量.数据框或数组 > x <- c(3:5, 11:8, 8 + 0:5)> ...
- JavaScript权威指南--正则表达式
知识要点 正则表达式,是一个描述字符模式的对象.javascript的RegExp类表示正则表达式,String和RegExp都定义了方法,后者使用正则表达式进行强大的模式匹配和文本检索与替换功能. ...
- MaintainableCSS 《可维护性 CSS》 --- 模板篇
什么是模块(Modules) ? 模块是一个特别的独立单元,可以与其他模块组合以形成更复杂的结构. 在客厅里,我们可以认为电视,沙发和墙艺术是模块.它们聚在一起创造一个可用的房间. 如果我们把其中一个 ...
- 用Python操作Named pipe命名管道,实用做法——os.read 或 os.write
https://blog.csdn.net/mayao11/article/details/50618598
- C#用大石头Xcode做数据底层注意事项
1.记得添加XCode.dll 和NewLife.Core.dll 2.记得把程序的框架改为 .net Framework4
- hdu4280网络流之dinic
这题就是个模板题,不过我是第一次写dinic,好久没用链式前向星又不会了... 时间:9126ms #include<map> #include<set> #include&l ...
- HDU 5586 简单最大子段和变形
Sum Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/65536 K (Java/Others)Total Submiss ...
- Python3 内建函数一览
###################################################### """Python3 内建函数大全""& ...