`
- 浏览:
258927 次
- 性别:
- 来自:
未定
-
要发邮件,必须登录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);
分享到:
Global site tag (gtag.js) - Google Analytics
相关推荐
**小结:** JavaMail API 是一个用于发送、接收和管理电子邮件的强大工具包。它为Java应用程序提供了一种简单而高效的方式来处理电子邮件相关的任务。随着时间的推移,JavaMail API 不断发展和完善,以满足企业和...
#### 八、小结 通过以上步骤,我们可以清晰地了解JavaMail API在处理邮件方面的强大功能。无论是简单的纯文本邮件发送还是复杂的带附件邮件,JavaMail都提供了完整的解决方案。同时,对于邮件的接收、查看和回复也...
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章 在...
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基础 ...
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基础 ...
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基础 ...
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基础 ...
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 建立领域对象 ...
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快速入门 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 小结
一共四个,其中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 小结
一共四个,其中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 小结
一共四个,其中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 小结
根据提供的信息,我们可以详细探讨...### 小结 通过Spring框架结合Velocity模板引擎,可以方便地实现邮件的自动化发送。这种方式不仅可以提高邮件内容的定制化程度,还可以有效减少重复性的手工操作,提升工作效率。
#### 四、小结 通过上述步骤,您可以构建一个基本的邮件收发系统。这不仅可以帮助您更好地理解Java在网络编程中的应用,而且还可以作为构建更复杂邮件系统的起点。随着项目的深入,您还可以考虑增加更多的功能,比如...
1.9 小结 第2章 注册、登录及验证模块设计 2.1 在MySQL Server建立用户信息表 2.1.1 确定用户信息字段 2.1.2 建立用户表 2.2 用JSP处理注册数据 2.2.1 创建注册提交表单 2.2.2 客户端验证数据...
4. **个人小结**:开发者张振可能在此部分总结了开发过程中的经验、遇到的问题以及解决方案。 总的来说,这个项目涵盖了网络编程的基本要素,包括协议的使用、网络通信机制、图形用户界面设计以及多线程编程。通过...
- **小结** - Java 的 I/O 包提供了丰富的类来处理文件和流,包括基本的字节流、字符流、文件流、缓冲流等。 **1.4 Java中的一些常用词汇** - **术语解释** - 如继承、封装、多态等。 **1.5 J2SE学习中的30个...
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的...
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. 依赖...