基于JavaMail的Java邮件发送

作者:Sparks_t 时间:2022-10-30 18:56:56 

邮件绑定功能

【需求】

  • 1、 用户注册时,输入邮箱

  • 2、 通过Javamail技术,向用户邮箱发送一封祝贺邮件

1、javamail发送邮件

1.1、简介

什么是javamail?

基于JavaMail的Java邮件发送

1.2、工具类

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

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

(1)授权码申请:

基于JavaMail的Java邮件发送


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

基于JavaMail的Java邮件发送

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

基于JavaMail的Java邮件发送

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

基于JavaMail的Java邮件发送


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

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

步骤:

  • 1 设置邮件发送的属性

  • 2 设置主机地址

  • 3 设置是否打开验证

  • 4 创建链接

  • 5 创建邮件

  • 6 设置发送者

  • 7 设置接受者

  • 8 设置标题

  • 9 设置正文

  • 10 坐火箭


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邮件发送

来源:https://blog.csdn.net/weixin_45752540/article/details/120684315

标签:Java,Mail,邮件
0
投稿

猜你喜欢

  • JAVA发送HTTP请求的多种方式详细总结

    2021-06-15 14:43:48
  • java中lambda表达式简单用例

    2023-11-24 23:17:52
  • 一键清除maven仓库中下载失败的jar包的实现方法

    2023-08-13 03:43:59
  • JavaEE7+Websockets+GlassFish4打造聊天室

    2023-11-29 01:01:39
  • ElasticSearch添加索引代码实例解析

    2023-11-21 03:41:04
  • Android Studio 多层级 Module 对 aar 引用问题解决方法

    2023-08-06 19:41:27
  • java多次嵌套循环查询数据库导致代码中数据处理慢的解决

    2023-10-28 22:17:50
  • Java代码实现循环队列的示例代码

    2023-11-23 23:51:25
  • Java中的OkHttp使用教程

    2023-08-10 19:30:59
  • 在Java的Struts中判断是否调用AJAX及用拦截 器对其优化

    2023-11-25 00:40:40
  • 深入理解Java并发编程之ThreadLocal

    2023-11-21 02:43:42
  • C# winfrom 模拟ftp文件管理实现代码

    2023-07-15 16:29:48
  • 详述IntelliJ IDEA插件的安装及使用方法(图解)

    2023-11-26 04:45:06
  • Java及数据库对日期进行格式化方式

    2023-08-23 12:27:52
  • 使用Jackson反序列化遇到的问题及解决

    2023-11-13 21:12:14
  • 重温C# clr 笔记总结

    2023-06-22 02:24:30
  • 深入解析java中的locale

    2023-11-09 18:14:20
  • 详解MyBatis XML配置解析

    2023-11-23 13:02:09
  • iOS WebView中使用webp格式图片的方法

    2023-06-17 22:06:03
  • 基于Mock测试Spring MVC接口过程解析

    2023-11-27 12:04:30
  • asp之家 软件编程 m.aspxhome.com