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

2)163邮箱有2中配置方式
a、ssl的的连接方式
package com.troy.jpa.config;import org.spring work.context.annotation.Bean;import org.spring work.context.annotation.Configuration;import org.spring work.mail.javamail.JavaMailSender;import org.spring work.mail.javamail.JavaMailSenderImpl;import java.util.Properties;@Configurationpublic class MailConfiguration { @Bean public JavaMailSender javaMailSender() { JavaMailSenderImpl javaMailSender = new JavaMailSenderImpl(); javaMailSender.setHost("smtp.163.com"); javaMailSender.setPort(465); 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", "465"); properties.setProperty("mail.smtp.socketFactory.port", "465"); javaMailSender.setJavaMailProperties(properties); return javaMailSender; }}
b、非ssl的连接方式
package com.troy.jpa.config;import org.spring work.context.annotation.Bean;import org.spring work.context.annotation.Configuration;import org.spring work.mail.javamail.JavaMailSender;import org.spring work.mail.javamail.JavaMailSenderImpl;@Configurationpublic class MailConfiguration { @Bean public JavaMailSender javaMailSender() { JavaMailSenderImpl javaMailSender = new JavaMailSenderImpl(); javaMailSender.setHost("smtp.163.com"); javaMailSender.setPort(25); javaMailSender.setUsername("账号"); javaMailSender.setPassword("密码"); return javaMailSender; }}
3)这个是采用注解的方式,自己也可以采用 的配置方式,自己随意
4)应用,邮件的发送
package com.troy.jpa.util;import org.spring work.context.support.ClassPath ApplicationContext;import org.spring work.mail.SimpleMailMessage;import org.spring work.mail.javamail.JavaMailSender;public class MailUtil { public static void main(String[] args) { sendMail("收件人邮箱","test","test"); } public static void sendMail(String mail, String , String text) { //加载容器 ClassPath ApplicationContext context = new ClassPath ApplicationContext("classpath:spring/spring-mvc. "); //获取bean JavaMailSender javaMailSender = (JavaMailSender) context.getBean("javaMailSender"); //建立邮箱模板 SimpleMailMessage mailMessage = new SimpleMailMessage(); //设置发送人的账号 mailMessage.setFrom("发送人账号(和登录的账号一样)"); //设置接收人的账号 mailMessage.setTo(mail); //设置主题 mailMessage.setSubject( ); //设置内容 mailMessage.setText(text); //发送邮件 javaMailSender.send(mailMessage); }}
继续阅读与本文标签相同的文章
上一篇 :
maven私有库搭建
下一篇 :
java之Jsch实现Linux的文件上传与下载
-
Spring Boot应用首次启动慢的问题
2026-05-26栏目: 教程
-
file_fdw妙用无穷——从数据库读取系统信息
2026-05-26栏目: 教程
-
Javascript AST 编译器的研究学习
2026-05-26栏目: 教程
-
细谈证书与Provisioning Profile
2026-05-26栏目: 教程
-
对比Xcode Debug Memory Graph和FBMemoryProfiler
2026-05-26栏目: 教程
