文章详情

短信预约-IT技能 免费直播动态提醒

请输入下面的图形验证码

提交验证

短信预约提醒成功

基于JavaMail的Java邮件发送

2024-04-02 19:55

关注

邮件绑定功能

【需求】

1、javamail发送邮件

1.1、简介

什么是javamail?

在这里插入图片描述

1.2、工具类

首先从哪个邮箱发出邮件,所以得发送邮件账号支持 程序发送邮件

第一步:配置网易 开启客户端授权码

(1)授权码申请:

在这里插入图片描述


选中POP3/SMTP服务和IMAP/SMTP服务,点击开启,如果已开启,会显示关闭

在这里插入图片描述

授权码就是JAVA代码登录邮箱的密码:MQKFLKEKMUHOKVPS

在这里插入图片描述

第二步:在mail-demo01项目中,配置pom.xml 添加javamail的坐标。

在这里插入图片描述


<!-- 导入javamail的坐标 -->
<dependency>
    <groupId>javax.mail</groupId>
    <artifactId>mail</artifactId>
    <version>1.4.7</version>
</dependency>

第三步:根据需要,编辑发送邮件正文

步骤:


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;
public class MailUtil {
   public static String smtp_host = "smtp.163.com"; // 网易
   public static String username = "222@163.com"; // 邮箱
   public static String password = "q7w8e9a4s5d6"; // 授权码(登录邮箱-->设置-->邮箱安全设置-->客户端授权密码),这里不是邮箱的密码,切记!
   public static String from = "222@163.com"; // 来源邮箱,使用当前账号

   public static void sendMail(String to, String subject, String text) throws Exception {
      // 1 准备发送邮件需要的参数
      Properties props = new Properties();
      // 设置主机地址 smtp.qq.com smtp.126.com smtp.163.com
      props.put("mail.smtp.host", smtp_host);
      // 是否打开验证:只能设置true,必须打开
      props.put("mail.smtp.auth", true);

      // 2 连接邮件服务器
      Session session = Session.getDefaultInstance(props);
      // 3 创建邮件信息
      MimeMessage message = new MimeMessage(session);

      // 4 设置发送者
      InternetAddress fromAddress = new InternetAddress(from);
      message.setFrom(fromAddress);
      // 5 设置接收者
      InternetAddress toAddress = new InternetAddress(to);
      // to:直接接收者 cc:抄送 bcc暗送
      message.setRecipient(RecipientType.TO, toAddress);
      // 6 设置主题
      message.setSubject(subject);
      // 7 设置正文
      message.setText(text);

      // 设置HTML方式发送
      //message.setContent(text, "text/html;charset=utf-8");

      // 8 发送:坐火箭
      Transport transport = session.getTransport("smtp");// 参数不能少,表示的是发送协议
      // 登录邮箱,此处的密码是授权码
      transport.connect(username, password);
      transport.sendMessage(message, message.getAllRecipients());
      transport.close();

      System.out.println("ok");
   }
   
   public static void main(String[] args) {
      try {
         MailUtil.sendMail("333@qq.com", "激活测试", "test");
      } catch (Exception e) {
         e.printStackTrace();
      }
   }
   
}

1.3、工具类测试

使用main方法进行测试。


public static void main(String[] args) {
    try {
        MailUtil.sendMail("333@qq.com", "激活测试", "test");
    } catch (Exception e) {
        e.printStackTrace();
    }
}

2、客户注册时,发送祝贺邮件

在这里插入图片描述

到此这篇关于基于JavaMail的Java邮件发送的文章就介绍到这了,更多相关Java Mail内容请搜索编程网以前的文章或继续浏览下面的相关文章希望大家以后多多支持编程网!

阅读原文内容投诉

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

软考中级精品资料免费领

  • 历年真题答案解析
  • 备考技巧名师总结
  • 高频考点精准押题
  • 2024年上半年信息系统项目管理师第二批次真题及答案解析(完整版)

    难度     807人已做
    查看
  • 【考后总结】2024年5月26日信息系统项目管理师第2批次考情分析

    难度     351人已做
    查看
  • 【考后总结】2024年5月25日信息系统项目管理师第1批次考情分析

    难度     314人已做
    查看
  • 2024年上半年软考高项第一、二批次真题考点汇总(完整版)

    难度     433人已做
    查看
  • 2024年上半年系统架构设计师考试综合知识真题

    难度     221人已做
    查看

相关文章

发现更多好内容

猜你喜欢

AI推送时光机
位置:首页-资讯-后端开发
咦!没有更多了?去看看其它编程学习网 内容吧
首页课程
资料下载
问答资讯