这里使用的是本机的邮箱服务器  ,

代码执行条件:

1.·邮箱服务器  , 下载地址   密码   s4xn

邮箱服务器配置:

1):安装

2):打开服务器

红色部分是默认账号,不用处理

3)系统设置  》点击工具  》服务器设置》

4)创建账号

2 .邮箱客户端   ,可以到官网上下载:

1.邮箱客户端的安装

接收和发送邮件服务器:  localhost

3 .mail.jar  包

4.Util工具类

package com.study.mail;

import java.util.Properties;

import javax.mail.Authenticator;
import javax.mail.Message;
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;
import javax.mail.internet.MimeMessage.RecipientType; public class MailUtils {
       // email :email 地址 ,subject 邮箱主题,emailMsg 邮箱信息
public static void sendMail(String email,String subject, String emailMsg)
throws AddressException, MessagingException {
// 1.创建一个程序与邮件服务器会话对象 Session Properties props = new Properties();
props.setProperty("mail.transport.protocol", "SMTP");//发送邮件的协议
props.setProperty("mail.host", "localhost");//发送邮件的服务器地址
props.setProperty("mail.smtp.auth", "true");// 指定验证为true // 创建验证器
Authenticator auth = new Authenticator() {
public PasswordAuthentication getPasswordAuthentication() {
return new PasswordAuthentication("tom", "123456");//发送邮件的账号认证
}
}; Session session = Session.getInstance(props, auth); // 2.创建一个Message,它相当于是邮件内容
Message message = new MimeMessage(session); message.setFrom(new InternetAddress("tom@study.com")); // 设置发送者 message.setRecipient(RecipientType.TO, new InternetAddress(email)); // 设置发送方式与接收者 message.setSubject(subject);//设置邮件的主题
// message.setText("这是一封激活邮件,请<a href='#'>点击</a>");
//设置邮件的内容
message.setContent(emailMsg, "text/html;charset=utf-8"); // 3.创建 Transport用于将邮件发送 Transport.send(message);
}
}

测试类:

package com.study.mail;

import javax.mail.MessagingException;
import javax.mail.internet.AddressException; public class sendMailTest { public static void main(String[] args) throws AddressException, MessagingException {
MailUtils.sendMail("lucy@study.com","测试邮件","这是一封测试邮件");
} }

最新文章

  1. 高性能JavaScript--快速响应的用户界面(简要学习笔记三)
  2. SpringMVC中定时任务配置
  3. vs插件ZunKoIDE
  4. 2014年7月份第1周51Aspx源码发布详情
  5. 网络广告术语CPC、CPM和CTR的含义和关系
  6. 【JAVA】Quartz中时间表达式的设置
  7. paip.快捷方式分组管理最佳实践ObjectDock
  8. 谈谈.NET中常见的内存泄露问题——GC、委托事件和弱引用
  9. C#基础(三)
  10. RMAN备份到共享存储失败(win平台)
  11. operator用法:隐式类型转换
  12. wav音频文件格式解析【个人笔记】(自用)
  13. Hive记录-hive权限控制
  14. 实例,C# 导出.dbf格式文件
  15. LeetCode--003--无重复字符的最长子串
  16. Quartz学习总结
  17. Hibernate学习笔记1.2(Annotation版本的Helloworld)
  18. js遍历json对象
  19. C#读写基恩士PLC 使用TCP/IP 协议 MC协议
  20. LeetCode: Symmetric Tree 解题报告

热门文章

  1. 《Thinking in Java》学习笔记(七)
  2. bzoj 4813: [Cqoi2017]小Q的棋盘 [树形背包dp]
  3. Scrapy框架实战-妹子图爬虫
  4. [HAOI2009]毛毛虫
  5. eclipse的maven项目中找不到Maven Dependencies
  6. Windows Server 2016-部署额外域控制器
  7. 阶段小项目2:显示bin格式图片
  8. Nginx防盗链配置案例配置,Nginx的知识分享
  9. RTLabel 的简单使用
  10. Sublime 远程连接 Linux服务器