博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
java学习——发送激活邮件-就这么简单
阅读量:4262 次
发布时间:2019-05-26

本文共 2463 字,大约阅读时间需要 8 分钟。

      做完DRP分销商管理的项目后,我开始了网上商城的项目。这是一个典型的商业式网站开发,类似于淘宝,有购物车,可支付等。我们在注册时通常需要填写邮箱,然后完成激活以后才能够登录使用。那么自动发送激活邮件是怎么做到的呢?今天我们就来学习一下使用javaMail完成邮件发送。

1、我们需要引入的jar包

引入该jar包后,需要将javaee中的相应java包删除,否则会冲突。

2、安装一个邮件服务器,用于发送邮件

3、邮件发送过程

这里写图片描述

      首先,我们通过客户端软件将邮件发送至公司的服务器中以,同时,邮件会存在服务器硬盘中,然后发送至第三方(163或qq)服务器中,同时存起来。当对方收邮件时,会通过pop3协议从第三方服务器中读取相应的邮件,保存至本地邮箱中。

4、实现

import java.util.Properties;import javax.mail.Authenticator;import javax.mail.Message;import javax.mail.Message.RecipientType;import javax.mail.MessagingException;import javax.mail.PasswordAuthentication;import javax.mail.Session;import javax.mail.Transport;import javax.mail.internet.AddressException;import javax.mail.internet.InternetAddress;import javax.mail.internet.MimeMessage;/** * 邮件发送工具类 * @author Guang * */public class MailUitls {    /**     * 发送邮件的方法     * @param to  :收件人     * @param code  :激活码     */    public static void sendMail(String to,String code){        /**         * 1、获得一个Session对象         * 2、创建一个代表邮件的对象Message         * 3、发送邮件TransPort         */        //1获得连接对象        Properties props=new Properties();        props.setProperty("mail.host", "localhost");        Session session=Session.getInstance(props, new Authenticator() {            @Override            protected PasswordAuthentication getPasswordAuthentication() {                //参数为服务器地址和密码                return new PasswordAuthentication("services@shop.com", "services");            }        });        //2、创建邮件对象        Message message=new MimeMessage(session);        try {            //设置发件人            message.setFrom(new InternetAddress("services@shop.com"));            //设置收件人            message.addRecipient(RecipientType.TO, new InternetAddress(to));            // 抄送 CC   密送BCC            // 设置标题            message.setSubject("网上商城-崔晓光设计-激活邮件");            //设置内容            message.setContent("

网上商城-崔晓光设计-激活邮件!点击下面的连接完成激活操作:

http://192.168.24.169:8080/shop/user_active.action?code=" +code+"

","text/html;charset=utf-8"); //3、发送邮件 Transport.send(message); } catch (AddressException e) { e.printStackTrace(); } catch (MessagingException e) { e.printStackTrace(); } } //测试邮件 public static void main(String[] args) { //发送邮件,传入接收的邮箱地址和发送的验证码 sendMail("cxg11@shop.com","1111111111111111"); }}

5、总结

      

至此,我们实现了发送邮件的功能,但是我们不能仅仅停留在‘实现了’这个层面上,我们更应该想想为什么要有这个功能,还有没有其他类似的功能。我相信,每天多想一点,我们就会多进步一点,遵循持续改善法则,我们就会发生质的飞越。

你可能感兴趣的文章
神经网络的发展历史
查看>>
TED演讲:Jeff Hawkins.大脑的工作原理是什么
查看>>
Windows命令行提示
查看>>
梳理《前目的地》
查看>>
ArrayList底层实现
查看>>
ACM寒假培训——各种排序
查看>>
CF417D——Cunning Gena(状态压缩DP)
查看>>
HDU1074——Doing Homework(状态压缩DP)
查看>>
POJ1113——Wall(凸包)
查看>>
HDU3847——Trash Removal(凸包,枚举)
查看>>
文档滚动对 scrollTop scrollLeft的兼容性封装
查看>>
Python笔记:lambda表达式
查看>>
Python笔记:对文件的读写操作
查看>>
Python笔记:详解使用Python列表创建ndarray
查看>>
Typescript 中的类的应用
查看>>
Python笔记:NumPy中的布尔型索引使用举例
查看>>
Python笔记:访问或修改 Pandas Series 中的元素以及相关运算
查看>>
Python笔记:Pandas DataFrames 的使用
查看>>
Python笔记:在Pandas中处理NaN值
查看>>
Typescript 中的接口的实现
查看>>