利用MailUtils发送邮件

MailUtils底层使用了javamail,  所以必须得到jar包为mail.jar 、activation.jar

百度云链接:链接:https://pan.baidu.com/s/1gGWAgDEaBwB8JDwUeiArXA 密码:1juk

用途 发送邮件

一、准备工作

1)首先最好使用常用的邮箱,并且在邮箱设置里面开启SMTP服务

a)并且需要关闭登陆校验(也就是说关闭保护)

b)或者登陆授权保护的话 ,那么 下文中的密码  不是登陆密码 而是使用授权密码(查看163授权密码)!! 否则不能正常发送

二、具体代码实现

package cn.tools.test;


import java.io.IOException;


import javax.mail.MessagingException;
import javax.mail.Session;


import org.junit.Test;


import cn.itcast.mail.Mail;
import cn.itcast.mail.MailUtils;


/**
 * 测试MailUtils,作用是发邮件
 * 底层依赖的是javamail,  mail.jar 、activation.jar
 */
public class MailUtilsTest {
     /*
      * 发邮件
      */
@Test
public  void   send() throws Exception, IOException{
/*
* 1.登录邮件服务器
*    MailUtils.createSession(服务器地址,登录名,密码)
* 2.创建邮件对象
*   发件人
*   收件人
*   主题
*   正文
* 3.发
* 需要第一步得到的session  和第二步得到的邮件对象
*/
//导包导入import cn.itcast.mail.MailUtils;
Session  session = MailUtils.createSession("smtp.163.com", "17673231234", "bisheaaaa");

Mail  mail =  new  Mail("[email protected]","[email protected]","测试邮件一封","<a href 'https://www.baidu.com/'>点击进入百度</a>");

    MailUtils.send(session, mail);
   
   }
    

}


在这里小编提醒一下 邮箱跟密码 暴露在这里是不安全的 所以下面教大家会以配置文件的形式读取

新建一个配置文件email163.propertie(这里面也是参照键 =  值)书写 具体代码如下



接下来 MailUtilsTest中代码改为

package cn.tools.test;


import java.io.IOException;
import java.text.MessageFormat;
import java.util.Properties;


import javax.mail.MessagingException;
import javax.mail.Session;


import org.junit.Test;


import cn.itcast.mail.Mail;
import cn.itcast.mail.MailUtils;


/**
 * 测试MailUtils,作用是发邮件
 * 底层依赖的是javamail,  mail.jar 、activation.jar
 */
public class MailUtilsTest {
     /*
      * 发邮件
      */
@Test
public  void   send() throws Exception, IOException{
//加载配置文件dao prop中
Properties prop = new  Properties();
try{
prop.load(this.getClass().getClassLoader().getResourceAsStream("email163.properties")); 
}catch (IOException e1) {
throw new RuntimeException(e1);
}


//登录验证+
String host = prop.getProperty("host"); //使用该方法读取配置文件中的值
String username = prop.getProperty("username");
String password = prop.getProperty("password");
Session  session = MailUtils.createSession(host, username, password);

//创建Mail对象
String from = prop.getProperty("from");
String to_mail = "[email protected]";
String subject = prop.getProperty("subject");
 
String content = prop.getProperty("content");
Mail  mail =  new  Mail(from,to_mail,subject,content);
//发送
    MailUtils.send(session, mail);
/*
 * 简单发送代码如下
Session  session =  MailUtils.createSession("smtp.163.com", "17673231234", "shouquan2018");
Mail  mail = new  Mail("[email protected]","[email protected]","激活邮件啊","百度百度是爸爸吧");
MailUtils.send(session, mail);
 */
 
    
    
   }
}
这样就使用了读取配置文件 从而不再代码中暴露账户已经信息数据

猜你喜欢

转载自blog.csdn.net/tester_xjp/article/details/79727485
今日推荐