`
linvar
  • 浏览: 255697 次
  • 性别: Icon_minigender_1
  • 来自: 未定
社区版块
存档分类
最新评论

javamail 小结

    博客分类:
  • java
阅读更多
要发邮件,必须登录smtp邮件服务器,要收邮件,必须登录pop3或imap服务器
一般的邮件系统默认都没有开通smtp,pop3,imap服务,需要自己登录邮件系统的页面进行设置
而163默认是开通了smtp服务的,所以我们可以用java程序通过这个smtp服务器进行发送邮件
我们的java程序其实类似于outerlook这个的邮件客户端,会建立用户代理(User Agent),
这个用户代理再跟smtp服务器联系,要求发送邮件.
所以发送邮件的具体工作还是由smtp服务器完成.

使用javaMail发送邮件的步骤是:
1.建立一个连接Session
这个session包含了smtp信息,验证信息
Properties props = new Properties();
props.put("mail.smtp.host", "smtp.163.com");
props.put("mail.smtp.auth", "true");//这里须用字符串“true"

2.验证信息
Authenticator authen = new Authenticator(){
    public PasswordAuthentication getPasswordAuthentication() { 
return new PasswordAuthentication(usename, password);
    }
}

3.获取Session
//如果使用Session.getDefaultInstance(props,authen)有时会出现无法访问session的错误
Session session = Session.getInstance(props, authen);

4.构造邮件内容
MimeMessage message = new MimeMessage(session);
//设置from
message.setFrom(new InternetAddress(from));
//设置to,可能有多个to email, addressTo 是 InternetAddress[] 对象
message.setRecipients(Message.RecipientType.TO, addressTo);
//设置subject
message.setSubject(subject);
//设置邮件内容
//如果邮件内容不是html格式,只是plain text
if(useText){
   message.setText(content);
}
//如果邮件内容是html格式
if(useHtml){
   BodyPart bdp = new MimeBodyPart();
   bdp.setContent(info.getContent(), "text/html;charset=utf-8");
   Multipart mlp = new MimeMultipart();
   mlp.addBodyPart(bdp);
   message.setContent(mlp);
}

5.发送邮件
Transport.send(message);
分享到:
评论

相关推荐

    从Java走向Java+EE+.rar

    1.5 小结 13 第2章 使用Jakarta Commons来简化开发 14 2.1 Jakarta Commons的功能和用法 14 2.2 小结 18 第3章 Java EE容器 19 3.1 什么是容器 19 3.2 Tomcat的安装和使用 20 3.3 小结 25 第4章 在...

    Java数据库编程宝典2

    1.6 小结 第2章 设计数据库 2.1 数据库设计应考虑的事项 2.1.1 项目规范 2.1.2 设计表 2.1.3 生成发票 2.2 引用完整性 2.2.1 通用完整性规则 2.2.2 特定于数据库的完整性规则 2.3 小结 第3章 SQL基础 ...

    Java数据库编程宝典4

    1.6 小结 第2章 设计数据库 2.1 数据库设计应考虑的事项 2.1.1 项目规范 2.1.2 设计表 2.1.3 生成发票 2.2 引用完整性 2.2.1 通用完整性规则 2.2.2 特定于数据库的完整性规则 2.3 小结 第3章 SQL基础 ...

    Java数据库编程宝典1

    1.6 小结 第2章 设计数据库 2.1 数据库设计应考虑的事项 2.1.1 项目规范 2.1.2 设计表 2.1.3 生成发票 2.2 引用完整性 2.2.1 通用完整性规则 2.2.2 特定于数据库的完整性规则 2.3 小结 第3章 SQL基础 ...

    Java数据库编程宝典3

    1.6 小结 第2章 设计数据库 2.1 数据库设计应考虑的事项 2.1.1 项目规范 2.1.2 设计表 2.1.3 生成发票 2.2 引用完整性 2.2.1 通用完整性规则 2.2.2 特定于数据库的完整性规则 2.3 小结 第3章 SQL基础 ...

    经典JAVA.EE企业应用实战.基于WEBLOGIC_JBOSS的JSF_EJB3_JPA整合开发.pdf

    1.7 本章小结 50 第2章 JSF的基本用法 51 2.1 MVC和JSF 52 2.1.1 MVC和常见MVC框架 52 2.1.2 JSF的优势 56 2.2 下载和安装JSF 57 2.3 JSF使用入门 60 2.3.1 从输入页面开始 60 2.3.2 开发托管Bean 61 2.3.3 定义导航...

    Spring.3.x企业应用开发实战(完整版).part2

    1.8 小结 第2章 快速入门 2.1 实例功能概述 2.1.1 比Hello World更适用的实例 2.1.2 实例功能简介 2.2 环境准备 2.2.1 创建库表 2.2.2 建立工程 2.2.3 类包及Spring配置文件规划 2.3 持久层 2.3.1 建立领域对象 ...

    Spring3.x企业应用开发实战(完整版) part1

    1.8 小结 第2章 快速入门 2.1 实例功能概述 2.1.1 比Hello World更适用的实例 2.1.2 实例功能简介 2.2 环境准备 2.2.1 创建库表 2.2.2 建立工程 2.2.3 类包及Spring配置文件规划 2.3 持久层 2.3.1 建立领域对象 ...

    《程序天下:J2EE整合详解与典型案例》光盘源码

    第一章 J2EE快速入门 1.1 J2EE概述 1.1.1 J2EE的来源 1.1.2 J2EE整体框架 1.1.3 从J2EE到JavaEE 1.2 J2EE组件 1.2.1 客户端组件 1.2.2 Web组件 1.2.3 业务逻辑组件 1.3 J2EE容器 1.3.1 容器服务 ...15.13 小结

    搞定J2EE:STRUTS+SPRING+HIBERNATE整合详解与典型案例 (2)

    一共四个,其中pdf 三个包,源码一个包 第一章 J2EE快速入门 1.1 J2EE概述 1.1.1 J2EE的来源 1.1.2 J2EE整体框架 1.1.3 从J2EE到JavaEE 1.2 J2EE组件 1.2.1 客户端组件 1.2.2 Web组件 ...15.13 小结

    搞定J2EE:STRUTS+SPRING+HIBERNATE整合详解与典型案例 (1)

    一共四个,其中pdf 三个包,源码一个包 第一章 J2EE快速入门 1.1 J2EE概述 1.1.1 J2EE的来源 1.1.2 J2EE整体框架 1.1.3 从J2EE到JavaEE 1.2 J2EE组件 1.2.1 客户端组件 1.2.2 Web组件 ...15.13 小结

    搞定J2EE:STRUTS+SPRING+HIBERNATE整合详解与典型案例 (3)

    一共四个,其中pdf 三个包,源码一个包 第一章 J2EE快速入门 1.1 J2EE概述 1.1.1 J2EE的来源 1.1.2 J2EE整体框架 1.1.3 从J2EE到JavaEE 1.2 J2EE组件 1.2.1 客户端组件 1.2.2 Web组件 ...15.13 小结

    (超赞)JAVA精华之--深入JAVA API

    1.3.11 小结 1.4 java中的一些常用词汇 1.5 J2SE学习中的30个基本概念 1.6 Java线程 1.7 Java 5.0多线程编程 1.8 Java Socket编程 1.9 Java的内存泄漏 1.10 抽象类与接口的区别 1.11 Java变量类型间的相互转换 2 ...

    JAVA SE学习精华集锦

    1.3.11 小结 56 1.4 java中的一些常用词汇 56 1.5 J2SE学习中的30个基本概念 58 1.6 Java线程 60 1.7 Java 5.0多线程编程 65 1.8 Java Socket编程 80 1.9 Java的内存泄漏 85 1.10 抽象类与接口的区别 86 1.11 Java...

    JSP网站开发典型模块与实例精讲

     1.9 小结 第2章 注册、登录及验证模块设计  2.1 在MySQL Server建立用户信息表  2.1.1 确定用户信息字段  2.1.2 建立用户表  2.2 用JSP处理注册数据  2.2.1 创建注册提交表单  2.2.2 客户端验证数据...

    spring chm文档

    14.5.2. 小结 14.6. 文档视图(PDF/Excel) 14.6.1. 简介 14.6.2. 配置和安装 14.7. JasperReports 14.7.1. 依赖的资源 14.7.2. 配置 14.7.3. 构造ModelAndView 14.7.4. 使用子报表 14.7.5. 配置Exporter的...

    Spring-Reference_zh_CN(Spring中文参考手册)

    14.5.2. 小结 14.6. 文档视图(PDF/Excel) 14.6.1. 简介 14.6.2. 配置和安装 14.6.2.1. 文档视图定义 14.6.2.2. Controller 代码 14.6.2.3. Excel视图子类 14.6.2.4. PDF视图子类 14.7. JasperReports 14.7.1. 依赖...

    Spring 2.0 开发参考手册

    14.5.2. 小结 14.6. 文档视图(PDF/Excel) 14.6.1. 简介 14.6.2. 配置和安装 14.7. JasperReports 14.7.1. 依赖的资源 14.7.2. 配置 14.7.3. 构造ModelAndView 14.7.4. 使用子报表 14.7.5. 配置Exporter的...

Global site tag (gtag.js) - Google Analytics