Java Mail 知识整理以及邮件发送的工具类

Java Mail 的开发,简单说就是使用Java开发语言发送邮件。

案例1:用户注册后。对注册的邮箱发送激活邮件,用户点击激活链接,激活用户。只有激活的用户才能登陆系统。

案例2:用户过生日时,系统发送生日祝福邮件

案例3:将最新活动和优惠以邮件形式告知会员


1. 什么是邮箱

电子邮箱:在邮箱服务器上申请的一个账户。用户在申请了账号之后,服务器就为这个账号分配一定的空间。用户使用这个账号和空间就可以发送电子邮件和保存别人发送过来的电子邮件。


2.了解SMTP和POP3协议

SMTP (Simple Mail Transfer Protocol)简单邮件传输协议.原地址到目的地址的传送邮件的规则。由它控制邮件中转的方式。

邮件从A邮件服务器到达

到达邮件服务

POP3 (Post Office Protocol -version 3) 邮局协议版本3



用户注册后使用邮箱激活的流程:



开发邮件发送的功能要引入Mailer包。在Maven repository 仓库中搜索Mailer即可找到。当前版本是2.12

<!-- https://mvnrepository.com/artifact/com.github.jurajburian/mailer -->
<dependency>
    <groupId>com.github.jurajburian</groupId>
    <artifactId>mailer_2.12</artifactId>
    <version>1.2.1</version>
</dependency>

邮件发送的工具类

import javax.mail.*;
import javax.mail.internet.InternetAddress;
import javax.mail.internet.MimeMessage;
import java.util.Properties;

/**
 * 描述:邮件发送的工具类
 * Created by your comandante
 * 2018/1/26 15:09
 */
public class MailUtil {

    /**
     * 发送邮件的方法
     * @param to :给谁发邮件
     * @param code :邮件激活码
     */
    public static void sendMail(String to,String code) throws Exception{
        //1.1创建连接对象,连接到邮箱服务器
        Properties props = new Properties();

        Session session = Session.getInstance(props, new Authenticator() {
            @Override
            protected PasswordAuthentication getPasswordAuthentication() {
  //发送方的邮箱账号和密码
                return new PasswordAuthentication("service@qq.com","123");
            }
        });
        //2.创建邮件对象
        Message message = new MimeMessage(session);
        //2.1设置发件人
        message.setFrom(new InternetAddress("service@qq.com"));
        //2.2设置收件人
        message.setRecipient(Message.RecipientType.TO,new InternetAddress(to));
        //2.3设置邮件的主题
        message.setSubject("来自XX网站的激活邮件");
        //2.4设置邮件的正文
        message.setContent("<h1>来自XX网站的激活邮件,请点击以下链接完成注册:<h1><a href='http://dbank.vmall.com/user/activeuser.action?code="+code+"'>http://dbank.vmall.com/user/activeuser.action?code="+code+"</a>","text/html;charset=UTF-8");
        //3.发送一封激活邮件
        Transport.send(message);
    }
}



  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值