【SSH网上商城】实现邮件发送功能

来源:互联网 发布:gpu编程 编辑:程序博客网 时间:2024/05/18 02:13

前言

    目前随着互联网的发展,在项目中通过邮件给用户发通知已经是一个很常见的事情了,给用户发邮件、发短信类似的功能很常见,所以小编今天就在此总结一下如何实现发邮件的功能呢?

叙述

首先了解一下,实现邮件发送功能的大概思路是什么样的吧。

发送激活邮件:
* 电子邮箱:邮箱账号(邮箱地址
* 邮件服务器:
* 邮件协议:
   SMTP:发送邮件协议
   POP3:接收邮件协议
* 邮箱发送全过程:
 * 搭建邮箱服务器:
   安装邮箱服务器:
   修改域名:工具---->服务器设置---->shop.com
   注册账号:账号---->新建账号
 * 安装客户端软件:(接收和发送邮件.) outlook 或 foxmail
   配置:
   配置发送邮件服务器:localhost
   配置接收邮件服务器:localhost
 * 编码实现发送邮件:
   导入mail.jar和activation.jar
   编写代码完成发送邮件

 如下图,aaa@sina.com 账号登录客户端,发送邮件连接的是SMTP服务器,然后创建了一个邮件对象将主题、收件人地址、邮件正文等信息保存到本地,点击发送后通过连接接收方的SMTP服务器将邮件保存到硬盘上,然后收件方aaa@163.com 账号登录接收邮件,通过连接POP服务器从硬盘上获取邮件并返回到客户端显示。


具体步骤:

1、搭建邮箱服务器:安装软件eyoumailserversetup.exe

2、修改域名:工具---->服务器设置---->shop.com


3、注册账号: 账号---->新建账号


   这样我们就新建好了测试的邮箱账号,在这里用Foxmail来接收邮件。

4、安装foxmail并配置发送邮件服务器:



5、引用jar

6、具体的代码实现

邮件发送的工具类:

package cn.itcast.shop.utils;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;/* * 邮件发送工具类 */public class MailUtils {/* * 发送邮件的方法 * @param to   收件人 * @param code  激活码 */public static void sendMail(String to,String code){/* * 1、获得1个Session对象 * 2、创建一个代表邮件的对象Message * 3、发送邮件transport *///1、获得对连接象Properties props=new Properties();props.setProperty("mail.host", "localhost");Session session=Session.getInstance(props, new Authenticator(){@Overrideprotected PasswordAuthentication getPasswordAuthentication() {return new PasswordAuthentication("service@shop.com","1");}});//2、创建邮件对象Message message = new MimeMessage(session);// 设置发件人:try {message.setFrom(new InternetAddress("service@shop.com"));// 设置收件人:message.addRecipient(RecipientType.TO, new InternetAddress(to));// 抄送 CC   密送BCC// 设置标题message.setSubject("来自北极激活邮件");// 设置邮件正文:message.setContent("<h1>北极激活邮件!点下面链接完成激活操作!</h1><h3><a href='http://192.168.21.197:8088/shop/user_active.action?code="+code+"'>http://192.168.21.197:8088/shop/user_active.action?code="+code+"</a></h3>", "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("zz@shop.com","1111");}}
 在service中实现代码

   //业务层完成用户注册代码:public void save(User user) {//将数据存入数据库user.setState(0);  //0代表用户未激活。 1代表用户已经激活String code = UUIDUtils.getUUID()+UUIDUtils.getUUID();user.setCode(code);userDao.save(user);//发送激活邮件MailUtils.sendMail(user.getEmail(),code);}

如此,实现了邮件的发送功能,接下来是用户收取邮件,看一下效果。



小结

    不怕不知道,就怕不知道,尝试着去了解,去学习。
原创粉丝点击