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组件实现列表页实例代码