JavaMail实现发送邮件功能
发布时间 - 2026-01-11 02:56:32 点击率:次本文实例为大家分享了JavaMail实现发送邮件功能的具体代码,供大家参考,具体内容如下

用java发邮件,必须要导入新的包
mail.jar – 发邮件的核心包
activation.jar – 对用户和密码加密.
在mail.jar中有三个核心类:
Javax.mail.Session – 是指与邮件服务器会话。整个项目中只要一个就可以了.
Javax.mail.Message(接口) - 准备发送数据信息。
MimeMessage - 可以设置类型的数据信息。
Transport – 它拥有一个方法可以发送Message。
@Test
public void sendMail() throws Exception{
//1,声明properties对象放信息
Properties props = new Properties();
//设置连接哪一台服务器
props.setProperty("mail.host", "smtp.163.com");
//设置是否认证:
props.setProperty("mail.smtp.auth", "true");
//2,声明用户名和密码
Authenticator auth = new Authenticator(){
//返回用户名和密码对象
@Override
protected PasswordAuthentication getPasswordAuthentication() {
PasswordAuthentication pa = new PasswordAuthentication("xxxxx@163.com", "123456");
return pa;
}
};
//3,获取session对象
Session session = Session.getDefaultInstance(props, auth);
//设置session为调试模式
session.setDebug(true);
//4,声明信息
MimeMessage mm1 = new MimeMessage(session);
//5,设置发件人信息
Address form = new InternetAddress("xxxxx@163.com");
mm1.setFrom(form);
//6,设置收件人 ,RecipientType:发送,抄送,密送 类型
mm1.setRecipient(RecipientType.TO, new InternetAddress("xxx@qq.com"));
//mm1.setRecipient(RecipientType.CC, new InternetAddress(""));//抄送
//7,设置主题
mm1.setSubject("拉面学习通知");
String cont = "请点击 <a href='http://www.fsy158.com/news/31_207'>官网新闻</a>查看祝您发财";
mm1.setContent(cont, "text/html;charset=UTF-8");
//8,发送
Transport.send(mm1);
}
其中的mimeType可是text/plain纯文本。
发送附件:
@Test
public void sendMailWithFile() throws Exception{
Properties ps = new Properties();
ps.setProperty("mail.host", "smtp.163.com");
ps.setProperty("mail.smtp.auth", "true");
Authenticator auth = new Authenticator(){
@Override
protected PasswordAuthentication getPasswordAuthentication() {
return new PasswordAuthentication("xxx@163.com","xxx.");
}
};
Session session = Session.getDefaultInstance(ps, auth);
session.setDebug(true);
MimeMessage msg = new MimeMessage(session);
Address address = new InternetAddress("xxx@163.com");
msg.setFrom(address);
//发送给
msg.setRecipient(RecipientType.TO, new InternetAddress("xxx@qq.com"));
msg.setRecipient(RecipientType.BCC, new InternetAddress("xxx@qq.com"));//密送
msg.setRecipient(RecipientType.CC, new InternetAddress("xxx@qq.com"));//抄送
msg.setSubject("$激情小视频*免费观看");
//声明多部件处理
MimeMultipart mm = new MimeMultipart();
MimeBodyPart body1 = new MimeBodyPart();
//设置附件
DataSource ds1 = new FileDataSource(new File("./img/a.jpg"));
DataHandler dh1 = new DataHandler(ds1);
body1.setDataHandler(dh1);
//必须设置名称
body1.setFileName(MimeUtility.encodeText("|美女|.jpg"));
MimeBodyPart body2 = new MimeBodyPart();
DataSource ds2 = new FileDataSource(new File("./img/b.jpg"));
DataHandler dh2 = new DataHandler(ds2);
body2.setDataHandler(dh2);
body2.setFileName(MimeUtility.encodeText("|美女|2.jpg"));
MimeBodyPart body3 = new MimeBodyPart();
DataSource ds3 = new FileDataSource(new File("./img/m.mp3"));
DataHandler dh3 = new DataHandler(ds3);
body3.setDataHandler(dh3);
body3.setFileName(MimeUtility.encodeText("*.mp3"));
//添加body到mm
mm.addBodyPart(body1);
mm.addBodyPart(body2);
mm.addBodyPart(body3);
msg.setContent(mm);
//设置发送日期
Calendar c = Calendar.getInstance();
c.add(Calendar.DATE, -5);
msg.setSentDate(c.getTime());
//发送
Transport.send(msg);
}
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。
# JavaMail
# 发送邮件
# Spring Boot中利用JavaMailSender发送邮件的方法示例(附源码)
# 基于SSM框架+Javamail发送邮件的代码实例
# 基于java使用JavaMail发送邮件
# 使用JavaMail发送邮件保证成功的方法
# JavaMail入门教程之发送邮件(3)
# JavaWeb中使用JavaMail实现发送邮件功能实例详解
# Java使用JavaMail发送邮件的方法
# Java基于JavaMail实现向QQ邮箱发送邮件
# 如何使用JavaMail发送邮件
# JavaWeb中JavaMail创建邮件和发送邮件
# 发邮件
# 请点击
# 是指
# 中有
# 大家分享
# 具体内容
# 官网
# 祝您
# 免费观看
# 大家多多
# 邮件服务器
# 就可以
# 发送给
# 小视频
# 必须要
# Authenticator
# true
# properties
相关栏目:
【
网站优化151355 】
【
网络推广146373 】
【
网络技术251813 】
【
AI营销90571 】
相关推荐:
Win11怎么关闭资讯和兴趣_Windows11任务栏设置隐藏小组件
PHP怎么接收前端传的文件路径_处理文件路径参数接收方法【汇总】
关于BootStrap modal 在IOS9中不能弹出的解决方法(IOS 9 bootstrap modal ios 9 noticework)
WordPress 子目录安装中正确处理脚本路径的完整指南
Laravel如何实现邮箱地址验证功能_Laravel邮件验证流程与配置
如何在IIS服务器上快速部署高效网站?
网站建设保证美观性,需要考虑的几点问题!
如何批量查询域名的建站时间记录?
Laravel怎么在Blade中安全地输出原始HTML内容
Laravel如何创建和注册中间件_Laravel中间件编写与应用流程
ChatGPT怎么生成Excel公式_ChatGPT公式生成方法【指南】
javascript事件捕获机制【深入分析IE和DOM中的事件模型】
清除minerd进程的简单方法
齐河建站公司:营销型网站建设与SEO优化双核驱动策略
猪八戒网站制作视频,开发一个猪八戒网站,大约需要多少?或者自己请程序员,需要什么程序员,多少程序员能完成?
如何在腾讯云服务器快速搭建个人网站?
百度输入法全感官ai怎么关 百度输入法全感官皮肤关闭
百度浏览器如何管理插件 百度浏览器插件管理方法
香港服务器租用每月最低只需15元?
Laravel如何理解并使用服务容器(Service Container)_Laravel依赖注入与容器绑定说明
如何在自有机房高效搭建专业网站?
如何快速搭建高效WAP手机网站吸引移动用户?
laravel怎么使用数据库工厂(Factory)生成带有关联模型的数据_laravel Factory生成关联数据方法
Laravel怎么做缓存_Laravel Cache系统提升应用速度的策略与技巧
邀请函制作网站有哪些,有没有做年会邀请函的网站啊?在线制作,模板很多的那种?
图片制作网站免费软件,有没有免费的网站或软件可以将图片批量转为A4大小的pdf?
谷歌浏览器下载文件时中断怎么办 Google Chrome下载管理修复
lovemo网页版地址 lovemo官网手机登录
Java垃圾回收器的方法和原理总结
非常酷的网站设计制作软件,酷培ai教育官方网站?
如何在IIS7上新建站点并设置安全权限?
免费的流程图制作网站有哪些,2025年教师初级职称申报网上流程?
php 三元运算符实例详细介绍
怎么制作一个起泡网,水泡粪全漏粪育肥舍冬季氨气超过25ppm,可以有哪些措施降低舍内氨气水平?
如何自定义建站之星网站的导航菜单样式?
青岛网站建设如何选择本地服务器?
如何快速上传自定义模板至建站之星?
Laravel Blade模板引擎语法_Laravel Blade布局继承用法
如何确保西部建站助手FTP传输的安全性?
如何用腾讯建站主机快速创建免费网站?
如何在Windows 2008云服务器安全搭建网站?
Laravel Eloquent性能优化技巧_Laravel N+1查询问题解决
Laravel如何获取当前登录用户信息_Laravel Auth门面使用与Session用户读取【技巧】
网站制作企业,网站的banner和导航栏是指什么?
Win11搜索不到蓝牙耳机怎么办 Win11蓝牙驱动更新修复【详解】
Laravel N+1查询问题如何解决_Eloquent预加载(Eager Loading)优化数据库查询
Laravel怎么配置自定义表前缀_Laravel数据库迁移与Eloquent表名映射【步骤】
百度浏览器ai对话怎么关 百度浏览器ai聊天窗口隐藏
Laravel怎么实现模型属性的自动加密
微信小程序 scroll-view组件实现列表页实例代码

