博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
java之mail发送
阅读量:5919 次
发布时间:2019-06-19

本文共 4338 字,大约阅读时间需要 14 分钟。

  一、邮箱的应用在实际的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;@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.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;@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.springframework.context.annotation.Bean;import org.springframework.context.annotation.Configuration;import org.springframework.mail.javamail.JavaMailSender;import org.springframework.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)这个是采用注解的方式,自己也可以采用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);    }}

 

转载地址:http://asbvx.baihongyu.com/

你可能感兴趣的文章
还在用SELECT COUNT统计数据库表的行数?Out了
查看>>
澳大利亚量子计算研究取得新进展
查看>>
Linux用户管理之使用/bin/false和/usr/sbin/nologin拒绝用户登录及其功能分析(转)...
查看>>
MIT推出新一代机器人猎豹3,可用于灾害救援
查看>>
为打破“混乱”局面,摩拜将于本月落地首批智能推荐停车点
查看>>
JavaScript 语法
查看>>
PostgreSQL 11 preview - Allow on-line enabling and disabling of data checksums
查看>>
阿里云提货券使用方法图文教程
查看>>
Spring4-JdbcDaoSupport-查询单列
查看>>
最小二乘法拟合圆公式推导及vc实现[r
查看>>
hadoop-env.sh配置
查看>>
DiscuzX2.5完整目录结构详细说明
查看>>
无法删除数据库副本或卸载邮件服务器
查看>>
windows 7下安装MySQL5.6
查看>>
ASP.NET 网站路径
查看>>
Android性能调优篇之探索垃圾回收机制
查看>>
oracle 卡住不动
查看>>
配置H3C交换机S5024PV2-EI
查看>>
MySQL多版本并发控制分析
查看>>
Domain Computer Boot Up Process and site info
查看>>