JAVA实现邮件发送功能(账号注册验证码、账号激活等)

第一步,导入JAR包,JAR包下载地址[http://pan.baidu.com/s/1kVRvGyF]

如果是Maven,请直接在Pom文件中加入

<dependency>
<groupId>com.sun.mail</groupId>
<artifactId>javax.mail</artifactId>
<version>1.6.0</version>
</dependency>

如果是SpringBoot,请直接在Pom文件中加入

<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-mail</artifactId>
</dependency>

正式代码:

  首先书写一个工具类:

  MailUtil

  

 1 import javax.mail.*;
 2 import javax.mail.internet.InternetAddress;
 3 import javax.mail.internet.MimeMessage;
 4 import java.util.Properties;
 5 
 6 /**
 7  * 邮件工具类
 8  */
 9 public class MailUtil {
10     /**
11      * 发送邮件
12      * @param to 给谁发
13      * @param text 发送内容
14      */
15     public static void send_mail(String to,String text) throws MessagingException {
16         //创建连接对象 连接到邮件服务器
17         Properties properties = new Properties();
18         //设置发送邮件的基本参数
19         //发送邮件服务器(注意,此处根据你的服务器来决定,如果使用的是QQ服务器,请填写smtp.qq.com)
20         properties.put("mail.smtp.host", "smtp.huic188.com");
21         //发送端口(根据实际情况填写,一般均为25
22         properties.put("mail.smtp.port", "25");
23         properties.put("mail.smtp.auth", "true");
24         //设置发送邮件的账号和密码
25         Session session = Session.getInstance(properties, new Authenticator() {
26             @Override
27             protected PasswordAuthentication getPasswordAuthentication() {
28                 //两个参数分别是发送邮件的账户和密码(注意,如果配置后不生效,请检测是否开启了 POP3/SMTP 服务,QQ邮箱对应设置位置在: [设置-账户-POP3/IMAP/SMTP/Exchange/CardDAV/CalDAV服务])
29                 return new PasswordAuthentication("admin@huic188.com","这里写你的账号的密码");
30             }
31         });
32 
33         //创建邮件对象
34         Message message = new MimeMessage(session);
35         //设置发件人
36         message.setFrom(new InternetAddress("admin@huic188.com"));
37         //设置收件人
38         message.setRecipient(Message.RecipientType.TO,new InternetAddress(to));
39         //设置主题
40         message.setSubject("这是一份测试邮件");
41         //设置邮件正文  第二个参数是邮件发送的类型
42         message.setContent(text,"text/html;charset=UTF-8");
43         //发送一封邮件
44         Transport.send(message);
45     }
46 }

  测试类:

  TEST:

  

import javax.mail.MessagingException;

/**
 * 测试类
 */
public class Test {
    public static void main(String[] args) {
        try {
       // 请将此处的 690717394@qq.com 替换为您的收件邮箱号码 MailUtil.send_mail(
"690717394@qq.com", String.valueOf(Math.random() * 999)); System.out.println("邮件发送成功!"); } catch (MessagingException e) { e.printStackTrace(); } } }
测试结果: 正常发送!
posted @ 2017-04-08 14:43  蒋具宏  阅读(9968)  评论(1编辑  收藏  举报