基于JavaMail的Java邮件发送

目录
  • 邮件绑定功能
  • 1、javamail发送邮件
    • 1.1、简介
    • 1.2、工具类
    • 1.3、工具类测试
  • 2、客户注册时,发送祝贺邮件

邮件绑定功能

【需求】

  • 1、 用户注册时,输入邮箱
  • 2、 通过Javamail技术,向用户邮箱发送一封祝贺邮件

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>

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

步骤:

  • 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邮件发送的文章就介绍到这了,更多相关Java Mail内容请搜索我们以前的文章或继续浏览下面的相关文章希望大家以后多多支持我们!

(0)

相关推荐

  • Java Mail邮件发送如何实现简单封装

    首先每次发送需要配置的东西很多,包括发件人的邮箱和密码.smtp服务器和SMTP端口号等信息.其次,没有将发送和邮件内容相分离.按照单一职责原则,应该有且仅有一个原因引起类的变更[1].最后一个问题是,我们的代码不仅自己用,也很可能让别人调用.别人调用的时候不想去了解邮件发送的细节,调用的人只想传尽量少的参数获得预期的效果.因此让Demo变成可以使用的代码需要我们重新设计代码的结构. 从Demo中我们可以抽象出两种类型的POJO,也就是发件人和邮件.你可能会问收件人怎么办?收件人可以跟邮件POJ

  • Java 基于Jakarta Mail实现收发邮件

    Jakarta Mail API提供了一个独立于平台和协议的框架来构建邮件,完成邮件接收与发送功能.它也包含在Java EE平台中,也可以和Java SE平台一起使用. Jakarta Mail的前生是JavaMail.JavaMail最后一个版本是于2018年8月发布,已经停止更新.新项目应该使用Jakarta Mail. 现在很多邮箱默认关闭smtp,pop3,imap服务,需要在设置中手动开启. 如果邮箱是使用授权码,则需要生成授权码(代替下文中密码),这种方式更安全. 依赖 注意Jaka

  • Javamail使用过程中常见问题解决方案

    今天在研究javamail发信的过程中,出现了一些小问题,现总结如下,以免后来者走些不必要的弯路,先把完整的能够正常运行的代码示例粘贴如下: 发邮件源代码: import java.util.Properties; import javax.mail.*; import javax.mail.internet.*; public class MailExample { public static void main (String args[]) throws Exception { Strin

  • java结合email实现自动推送功能

    1.获取表中最后一条数据 public static String demo() throws SQLException { String sql = "select * FROM baoxiu ORDER BY id DESC LIMIT 0,1;"; PreparedStatement ptmt = conn.prepareStatement(sql); ResultSet rs = ptmt.executeQuery(); String str=null; if(rs.next(

  • Simple Java Mail邮件发送实现过程解析

    前言 在我们日常工作中,邮件发送服务经常会用到,我们常用的java邮件服务实现方案有:java原生自带的javamail.apache commons mail工具包.spring mail.但是个人使用这么久而言,感觉使用起来都不太顺手,也略显复杂 在此推荐一个简单易用的类库simple-java-mail github地址: http://www.simplejavamail.org 下面我会介绍一下这个mail工具类的基本用法,不过基本都是来自于官网,随后我会基于这个mail工具类去封装一

  • 基于JavaMail的Java邮件发送

    目录 邮件绑定功能 1.javamail发送邮件 1.1.简介 1.2.工具类 1.3.工具类测试 2.客户注册时,发送祝贺邮件 邮件绑定功能 [需求] 1. 用户注册时,输入邮箱 2. 通过Javamail技术,向用户邮箱发送一封祝贺邮件 1.javamail发送邮件 1.1.简介 什么是javamail? 1.2.工具类 首先从哪个邮箱发出邮件,所以得发送邮件账号支持 程序发送邮件 第一步:配置网易 开启客户端授权码 (1)授权码申请: 选中POP3/SMTP服务和IMAP/SMTP服务,点

  • 基于JavaMail实现简单邮件发送

    本文实例为大家分享了JavaMail实现简单邮件发送的具体代码,供大家参考,具体内容如下 1.引入依赖 <dependency>     <groupId>org.springframework.boot</groupId>     <artifactId>spring-boot-starter-mail</artifactId>     <version>2.5.5</version> </dependency&g

  • 基于JavaMail的Java实现复杂邮件发送功能

    上一篇文章 基于 JavaMail 的 Java 邮件发送:简单邮件发送 讲解了邮件的基本协议,JavaMail组件,创建并发送一封简单邮件的详细步骤.本文将介绍如何创建并发送一封包含图片和附件的复杂邮件. 一封复杂的邮件内容可以看做是由很多节点(或者可以说是"片段"/"部分"/"零件")组成,文本.图片.附件等都可以看成是邮件内容中的一个节点.这些节点之间又可以相互关联组合成一个节点.最终组合成一个大节点就是邮件的正文内容. 完整代码演示: p

  • 基于JavaMail的Java实现简单邮件发送功能

    电子邮件的应用非常广泛,例如在某网站注册了一个账户,自动发送一封欢迎邮件,通过邮件找回密码,自动批量发送活动信息等.但这些应用不可能和我们自己平时发邮件一样,先打开浏览器,登录邮箱,创建邮件再发送.本文将简单介绍如何通过 Java 代码来创建电子邮件,并连接邮件服务器发送邮件. 1. 电子邮件协议 电子邮件的在网络中传输和网页一样需要遵从特定的协议,常用的电子邮件协议包括 SMTP,POP3,IMAP.其中邮件的创建和发送只需要用到 SMTP协议,所以本文也只会涉及到SMTP协议.SMTP 是

  • 基于JavaMail API收发邮件的方法

    本文实例讲述了基于JavaMail API收发邮件的方法.分享给大家供大家参考.具体如下: 1.JavaMail API按其功能划分通常可分为如下三大类 (1)创建和解析邮件内容的API :Message类是创建和解析邮件的核心API,它的实例对象代表一封电子邮件. (2)发送邮件的API:Transport类是发送邮件的核心API类,它的实例对象代表实现了某个邮件发送协议的邮件发送对象,例如SMTP协议. (3)接收邮件的API:Store类是接收邮件的核心API类,它的实例对象代表实现了某个

  • PHP基于SMTP协议实现邮件发送实例代码

    SMTP协议 当我们使用PHP的第三方库或工具类进行邮件发送的时候,是否想过一个问题: 为什么我们不能自己写php代码实现邮件发现,而要用别人的库呢?php发送邮件到底是如何实现的? 首先我们要了解发送邮件的基本原理,本文基于SMTP协议实现邮件发送 SMTP(Simple Mail Transfer Protocol)即简单邮件传输协议.简单来说它定义了一组规则,我们只需要依照这个规则来告诉SMTP服务器,我们要发送邮件的发送人,接收人,内容,主题等信息. 然后SMTP服务器依照这组规则来解析

  • JavaMail实现简单邮件发送

    本文实例为大家分享了JavaMail实现简单邮件发送的具体代码,供大家参考,具体内容如下 简单邮件 即纯文本邮件,没有除文字以外的其他所有文件. 传输协议 SMTP协议 全称为 Simple Mail Transfer Protocol,简单邮件传输协议.它定义了邮件客户端软件和SMTP邮件服务器之间,以及两台SMTP邮件服务器之间的通信规则. POP3协议 全称为 Post Office Protocol,邮局协议.它定义了邮件客户端软件和POP3邮件服务器的通信规则. 邮件发送原理 ①SMT

  • java邮件发送简单实现代码

    本文实例为大家分享了java邮件发送的具体代码,供大家参考,具体内容如下 我用的是maven项目,前台页码不多说,自己传邮箱地址进来就行. 只需要一个类实现,直接复制就可以 package com.mail; import java.util.Properties; import javax.mail.Address; import javax.mail.Message; import javax.mail.Session; import javax.mail.Transport; import

  • Java邮件发送程序(可以同时发给多个地址、可以带附件)

    发送邮件的主程序 import java.util.Properties; import common.util.Email_Autherticatorbean; import javax.mail.Authenticator; import javax.mail.internet.InternetAddress; import org.apache.commons.lang.StringUtils; import javax.mail.internet.MimeBodyPart; import

随机推荐