邮件开发环境搭建

邮件服务器

  • 易邮邮件服务器

    • 配置如下

邮件客户端

  • Foxmail

    • 配置如下

使用Javamail发送邮件

  1. 下载
  • javamail-samples.zip
  • javax.mail.jar

官网地址http://www.oracle.com/technetwork/java/javamail/index.html

  1. 使用javamail

发送到本地的邮件中

package org.xueyao.email;

import java.util.Date;
import java.util.Properties; import javax.mail.Message;
import javax.mail.Session;
import javax.mail.Transport;
import javax.mail.internet.InternetAddress;
import javax.mail.internet.MimeMessage; public class MailUtils {
/**
* 发送邮件
* @param to 接收邮件的地址
* @param subject 邮件主题
* @param msgText 邮件内容
*/
public static void send(String to, String subject, String msgText) {
//发邮件的地址
String from = "admin@flowstone.com";
//邮件发送服务器地址
String host = "localhost";
//是否开启debug模式
boolean debug = true; // 设置发送邮件的配置信息
Properties props = new Properties();
props.put("mail.smtp.host", host);
if (debug) {
props.put("mail.debug", debug);
}
//邮件会话
Session session = Session.getInstance(props, null);
session.setDebug(debug); try {
//创建邮件
MimeMessage msg = new MimeMessage(session);
msg.setFrom(new InternetAddress(from));
InternetAddress[] address = { new InternetAddress(to) };
msg.setRecipients(Message.RecipientType.TO, address);
//设置主题
msg.setSubject(subject);
//设置发送时间
msg.setSentDate(new Date());
// If the desired charset is known, you can use
// setText(text, charset)
//设置邮件的内容
msg.setText(msgText);
//发送邮件
Transport.send(msg);
} catch (Exception mex) {
mex.printStackTrace();
}
}
public static void main(String[] args) {
String to = "test02@flowstone.com";
String subject = "如何学习?";
String msgText = "解决学习困扰,就是天天晚上熬夜学习";
MailUtils.send(to, subject, msgText); } }
  1. 效果图

通过QQ邮箱发送

package org.xueyao.email;

import java.util.Date;
import java.util.Properties; import javax.mail.Message;
import javax.mail.Session;
import javax.mail.Transport;
import javax.mail.internet.InternetAddress;
import javax.mail.internet.MimeMessage; public class MailQQUtils {
/**
* 发送邮件
* @param to 接收邮件的地址
* @param subject 邮件主题
* @param msgText 邮件内容
*/
public static void send(String to, String subject, String msgText) {
//发邮件的地址
String from = "931330220@qq.com";
String password = "授权码";
//邮件发送服务器地址
String host = "smtp.qq.com";
//是否开启debug模式
boolean debug = true; // 设置发送邮件的配置信息
Properties props = new Properties();
props.put("mail.smtp.host", host); if (debug) {
props.put("mail.debug", debug);
}
//添加auth认证
props.put("mail.smtp.auth", "true");
props.put("mail.smtp.port", "587"); //邮件会话
Session session = Session.getInstance(props, null);
session.setDebug(debug); try {
//创建邮件
MimeMessage msg = new MimeMessage(session);
msg.setFrom(new InternetAddress(from));
InternetAddress[] address = { new InternetAddress(to) };
msg.setRecipients(Message.RecipientType.TO, address);
//设置主题
msg.setSubject(subject);
//设置发送时间
msg.setSentDate(new Date());
//设置邮件的内容
msg.setText(msgText);
//发送邮件
Transport.send(msg,from,password);
} catch (Exception mex) {
mex.printStackTrace();
}
}
public static void main(String[] args) {
String to = "收件邮箱";
String subject = "如何学习?";
String msgText = "解决学习困扰,就是天天晚上熬夜学习";
MailQQUtils.send(to, subject, msgText); } }

效果图

Javamail简单使用案例的更多相关文章

  1. [Java] JavaMail 简单案例

    网易提供了免费的 SMTP / POP3服务,可用于编程测试,详情见 什么是POP3.SMTP和IMAP? 只需要拥有一个网易邮箱账号,并开启该账号的 SMTP / POP3 功能,便可以通过程序发送 ...

  2. 简单登录案例(SharedPreferences存储账户信息)&联网请求图片并下载到SD卡(文件外部存储)

    新人刚学习Android两周,写一个随笔算是对两周学习成果的巩固,不足之处欢迎各位建议和完善. 这次写的是一个简单登录案例,大概功能如下: 注册的账户信息用SharedPreferences存储: 登 ...

  3. MyBatis学习总结(一)简单入门案例

    MyBatis学习总结(一)简单入门案例 主要内容:本文主要通过对数据库中的use表进行增删改查总结mybatis的环境搭建和基本入门使用 一.需要的jar包: 1.核心包 2.依赖包 3.jdbc数 ...

  4. 一个简单的案例带你入门Dubbo分布式框架

    相信有很多小伙伴都知道,dubbo是一个分布式.高性能.透明化的RPC服务框架,提供服务自动注册.自动发现等高效服务治理方案,dubbo的中文文档也是非常全的,中文文档可以参考这里dubbo.io.由 ...

  5. solr简单搜索案例

    solr简单搜索案例 使用Solr实现电商网站中商品信息搜索功能,可以根据关键字搜索商品信息,根据商品分类.价格过滤搜索结果,也可以根据价格进行排序,实现分页. 架构分为: 1. solr服务器 2. ...

  6. springcloud+eureka简单入门案例

    springcloud+eureka简单入门案例 一.服务提供者 直接提供服务,入门案例没有特别要设置的地方,注意下端口,由于要启动多个服务,可能会冲突 配置文件(src/main/resources ...

  7. Python 简单爬虫案例

    Python 简单爬虫案例 import requests url = "https://www.sogou.com/web" # 封装参数 wd = input('enter a ...

  8. arduino中SCoop库的简单应用案例

    转载:https://www.csdn.net/gather_27/MtTaggzsMDExMS1ibG9n.html arduino中SCoop库的简单应用案例首先这篇文章来在视频https://v ...

  9. ReentrantReadWriteLock读写锁简单原理案例证明

    ReentrantReadWriteLock存在原因? 我们知道List的实现类ArrayList,LinkedList都是非线程安全的,Vector类通过用synchronized修饰方法保证了Li ...

随机推荐

  1. 请求URL中有body怎么使用jmeter进行接口测试

    业务场景: 微信内免费领取激活码 1.点击“免费领取”按钮调取的接口 2.URL如下 https://yxyapi2.drcuiyutao.com/yxy-api-gateway/api/json/v ...

  2. ng 监听数据的变化

    $scope.$watch('监听的变量的名称',func) 在angularJs之所以能够实现绑定,是因为angularJS框架在背后为每一个模型数据添加了一个监听,与$watch其实是一个道理. ...

  3. Js事件处理模型/周期

    有3个阶段 1.  捕获阶段:由外向内,记录各级父元素上绑定的事件处理函数---只记录,不触发. 2.  目标触发:优先触发目标元素上的事件处理函数. 3.  冒泡:由内向外,按捕获的顺序的相反的方向 ...

  4. Linux命令学习笔记目录

    Linux命令学习笔记目录 最近正在使用,linux,顺便将用到的命令整理了一下. 一. 文件目录操作命令: 0.linux命令学习笔记(0):man 命令 1.linux命令学习笔记(1):ls命令 ...

  5. "==" 与 "is"的区别

    Is there a difference between `==` and `is` in Python? "=="是比较内容相当;"is"是比较对象的id是 ...

  6. Bootstrap和IE何时能相亲相爱啊~

    公司新项目,嘚瑟了一下,用了用Bootstrap... ... 发现了一个小坑(也许只是对我而言)... ... 使用了2.x的Jquery,在chrome等高版本浏览器一切顺利... ... 然,3 ...

  7. hibernate正向工程生成数据库

    hibernate正向工程生成数据库 hibernate.cfg.xml ? 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 2 ...

  8. nmon的使用

    Linux性能评测工具之一:nmon篇 分类: 敏捷实践2010-06-08 11:27 7458人阅读 评论(0) 收藏 举报 工具linuxfilesystemsaixx86excel   目录( ...

  9. Oracle12c版64位客户端安装步骤(32位安装步骤一样)

    1.双击setup.exe文件 2.下一步 3.下一步   4.安装 5.完成

  10. 提升Apache网站访问速度的优化方法

    Apache是世界使用排名第一的Web服务器软件.它可以运行在几乎所有广泛使用的计算机平台上,由于其跨平台和安全性被广泛使用,是最流行的Web服务器端软件之一. 在Apache服务器上怎样优化才能提高 ...