• 网上商城——邮件发送(二)


        上次已经基本上将发送的原理说了一下,以及如何进行配置邮件服务。这次主要说一下发送邮件的一些具体的实现过程。

        代码实现发送过程主要分为三个步骤,第一步是获得连接,通过java中的Properties类来进行读取配置文件,调用基类的一些方法进行基础的设置以及连接设置。

        

    //	  1、获得连接
    	  Properties props=new Properties();//Properties是java中的一个重要的类,主要用于读取java的配置文件
    	  //设置连接的服务器
    	  props.setProperty("mail.host", "localhost");//调用Hashtable的方法put,通过调用基类的put方法来设置键值对
    	  Session session=Session.getInstance(props, new Authenticator(){
    
    		@Override
    		protected PasswordAuthentication getPasswordAuthentication() {
    			// TODO Auto-generated method stub
    			//设置自己的服务邮件地址和密码
    			return new PasswordAuthentication("service@pengbo.com","1");
    		}		  
    		 
    	  });
        第二步是进行创建邮件对象,主要是通过Message这个载体进行封装信息,Message是一个抽象类,已知的实现类有MimeMessage。    

    //	  2、创建邮件对象
    	  Message message=new MimeMessage(session);
    //	  设置发送人
    	  try {
    		  //设置服务端
    		message.setFrom(new InternetAddress("service@pengbo.com"));
    //		设置收件人
    		message.addRecipient(RecipientType.TO, new InternetAddress(to));
    //		设置标题
    		message.setSubject("购物激活邮件");
    //		设置邮件正文
    		message.setContent("<h1>购物激活邮件,点下面链接完成激活操作!</h1><h3><a href='http://192.168.21.84:8080/shop/user_active.action?code="+code+" '>http://192.168.21.84:8080/shop/user_active.action?code="+code+"</a></h3>", "text/html;charset=UTF-8");
        第三步是发送邮件    

    //		  3、发送邮件
    		Transport.send(message);
       这样发送邮件的主要流程就实现了,然后在此类中定义主方法:   

    public static void main(String[] args){
    	  //要发送的对象及验证码
    		  sendMail("a@pengbo.com","11111111");
    	  }
        在Service层进行调用邮件发送的方法即可:    

    //	  发送激活邮件
    	  MailUitls.sendMail(user.getEmail(), code);

        

         具体的知识积累:

           1、Properties  主要获取配置文件信息,主要的方法有getProperty ( String key)、load ( InputStream inStream)、setProperty ( String key, String value)、store ( OutputStream out, String comments)、clear ()

           2、Session  是一对配置信息的集合,主要作用是接收各种配置属性信息,初始化JavaMail环境

           3、Message  是一个抽象类,它实现接口Part,并定义了一些属性

           4、transport是指传输邮件,与之对应的是store存储功能。

       

        功能虽然实现了,但是其中用到的一些类还需要进行深入的学习和研究。就目前而言,仅仅有了一个入门,知道了在JavaMail中,有Properties、Session、Message这几个重要的类。

               

       

  • 相关阅读:
    Flutter 中的基本路由
    BottomNavigationBar 自定义 底部导航条
    StatefulWidget 有状态组件
    flutte页面布局四
    flutter页面布局三
    flutter页面布局二
    设计模式-工厂方法模式
    设计模式-代理模式
    设计模式-装饰模式
    SpringBoot项目部署到服务器上,tomcat不启动该项目
  • 原文地址:https://www.cnblogs.com/victor-grace/p/7253766.html
Copyright © 2020-2023  润新知