基于JavaMail的Java邮件发送:简单快速上手

网友投稿 295 2022-11-18

基于JavaMail的Java邮件发送:简单快速上手

1.什么事JavaMail

JavaMail,顾名思义,提供给开发者处理​​电子邮件​​​相关的​​编程接口​​。它是Sun发布的用来处理email的API。它可以方便地执行一些常用的邮件传输。我们可以基于JavaMail开发出类似于Microsoft Outlook的应用程序。

2.JavaMail的协议

邮件开发的相关协议SMTP:SMTP 发送协议 默认端口:25 使用SSL 端口改为465POP:POP这个版本用的最多 接收协议 默认端口:110

3.邮件发送接受的过程分析

4.邮件开发的准备工作

4.1申请邮箱开通SMPT服务

这里使用网易云邮箱 进入后开通SMPT服务

4.2引入JavaMail

在pom.xml中添加如下依赖

javax.mail mail 1.4.4

为了让Spring与JavaMail集成 还需要在pom.xml中引入如下依赖

org.springframework spring-context-suppport ${spring.version}

如果是web项目 引入如下jar包

5.传统的邮件开发

6.邮件发送工具类抽取

package com.czxy.utils;import javax.mail.Address;import javax.mail.Session;import javax.mail.Transport;import javax.mail.internet.InternetAddress;import javax.mail.internet.MimeMessage;import javax.mail.internet.MimeMessage.RecipientType;import java.util.Properties;/** * 邮件发送的工具类 * @author Administrator */public class MailUtil { /** * 发送邮件 * @param to 收件人 * @param subject 主题 * @param content 内容 * @throws Exception */ public static void sendMsg(String to ,String subject ,String content) throws Exception{ // 创建属性文件 Properties props = new Properties(); // 设置主机地址 smtp.qq.com smtp.sina.com 使用的本地易邮服务器 props.setProperty("mail.smtp.host", "smtp.163.com"); // 认证,提供用户名和密码进行校验 props.setProperty("mail.smtp.auth", "true"); //2.产生一个用于邮件发送的Session对象,连接服务器主机 Session session = Session.getInstance(props); //3.产生一个邮件的消息对象 MimeMessage message = new MimeMessage(session); //4.设置消息的发送者 Address fromAddr = new InternetAddress("发件人的邮箱账号"); message.setFrom(fromAddr); //5.设置消息的接收者 Address toAddr = new InternetAddress(to); //TO 直接发送 CC抄送 BCC密送 message.setRecipient(RecipientType.TO, toAddr); //6.设置主题 message.setSubject(subject); //7.设置正文 message.setText(content); //8.准备发送,得到火箭 Transport transport = session.getTransport("smtp"); //9.设置火箭的发射目标 /** * 1. 主机地址 * 2. 发件人的邮箱帐号 * 3. 账号对应的密码 */ transport.connect("smtp.163.com", "发送人的邮箱账号", "前面保存的授权码"); //10.发送 transport.sendMessage(message, message.getAllRecipients()); //11.关闭 transport.close(); }}

版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:Flink-初识(特点、与sparkstreaming的比较)
下一篇:努比亚红魔5G真机曝光,144Hz屏幕的体验究竟如何
相关文章

 发表评论

暂时没有评论,来抢沙发吧~