【0】README

1) 本文文字描述 转自 core java volume 2 , 旨在理解 网络——发送email 的基础知识 ;
2) for souce code , please visit https://github.com/pacosonTang/core-java-volume/tree/master/coreJavaAdvanced/chapter3/JavaMail


【1】网络——发送email 相关

1)SMTP : simple mail transformation protocol(简单邮件传输协议);(干货——SMTP定义)
2)过去,编写程序通过创建到 SMTP 专用的端口25 来发送邮件是一个很简单的事情。简单邮件传输协议用于描述 Email 消息的格式。

  • 2.1)一旦连接到server, 就可以发送一个邮件报头,紧随其后的是邮件消息;
  • 2.2)以下是详细操作过程(steps): (干货——发送邮件消息的steps)
    • step1) 打开一个到达主机的套接字;
    • step2)发送以下消息到 打印流:

3)SMTP规定: 每一行都要以 \r 再紧跟一个 \n 来结尾;
4)看个荔枝: 如何用 javaMail API 在java 程序中发送 email; (干货——如何用 javaMail API 在java 程序中发送 email;)

  • step1)读入属性文件, 然后像下面这样获取一个邮件会话:

    Session mailSession = Session.getDefaultInstance(props);

  • step2)然后,用恰当的发送者, 接收者, 主题和消息文本来创建消息:

    // mailSession.setDebug(true);
    MimeMessage message = new MimeMessage(mailSession);
    message.setFrom(new InternetAddress(from));
    message.addRecipient(RecipientType.TO, new InternetAddress(to));
    message.setSubject(subject);
    message.setText(builder.toString());

  • step3) 将消息发送走:

    Transport tr = mailSession.getTransport();
    tr.connect(null, password);
    tr.sendMessage(message, message.getAllRecipients());
    finally
    tr.close();


5)怎样设置 Properties的属性值?

  • 5.1)参见: https://javamail.java.net/nonav/docs/api/com/sun/mail/smtp/package-summary.html

  • 5.2)也可以参考: https://javamail.java.net/nonav/docs/JavaMail-1.5.pdf 的 第 71 页 的 property environment(Appendix A);


Complementary) intro to SMTP(raw link https://java.net/projects/javamail/pages/SMTPTransport)

  • 译文: JavaMail提供的用于发送邮件的唯一传输类 Transport 使用了 SMTP 协议。 java 文档中 SMTP Transport类的文档描述主要是关于 com.sun.mail.smtp 包的;
    请务必阅读包级别的javadoc,其描述您可以设置的属性,还有该包中个别类的javadoc 。(干货——所以,5.1中的文档链接,必须要阅读以对 SMTP有个大致的overview)

网络——发送email(一个简单荔枝)相关推荐

  1. NanoHTTPD web server的一个简单荔枝

    [0]README 0.1)本文旨在演示一个简单荔枝,以说明如何使用 NanoHTTPD web server 和 浏览器访问 该server的效果 ------------------------- ...

  2. 深入理解计算机系统:网络编程 下 一个简单的web服务器

    编写一个web服务器的基础是熟悉套接字接口.笔者因为还没有对其进行实践,只对其有一些粗浅的了解.本文重点记录一个web服务的核心功能主要由哪几部分组成. 1. main函数 之前写到,从客户端到服务器 ...

  3. 用思科网络模拟器搭建一个简单的局域网

    目录 前言 搭建 配置 前言 在搭建一个简单的局域网前,你必须知道一些常识. 网线(双绞)线的标准 T568A标准:白绿.绿.白橙.蓝.白蓝.橙.白棕.棕 T568B标准:白橙.橙.白绿.蓝.白蓝.绿 ...

  4. Linux网络容灾,一个简单的两个Linux之间的容灾备份的Demo

    一个简单的两个Linux之间的容灾备份的Demo,设计到的内容有ssh公钥和私钥的原理,rsync命令的用法. 当然使用这些的前提是ssh和rsync已经都安装好. 首先配置ssh,当rsync通过s ...

  5. 网络缓冲 linux,一个简单的linux缓冲区利用

    一个简单的linux缓冲区利用by Netfairy - 2016-02-28 刚开始接触linux下的漏洞利用,先做个练练手.程序源码如下: #include #include #include i ...

  6. 使用网络TCP搭建一个简单文件下载器

    说明:该篇博客是博主一字一码编写的,实属不易,请尊重原创,谢谢大家! 目录 一丶项目介绍 二丶服务器Server 三丶测试TCP server服务器 四丶客户端Client 五丶测试客户端向服务器下载 ...

  7. XML——XSLT的一个简单荔枝

    [0]intro to XSLT(转自: http://www.w3school.com.cn/xsl/xsl_languages.asp) 0.1)起始于 XSL XSL 指扩展样式表语言(EXte ...

  8. 网络基础--搭建一个简单的网络

    文章目录 前言 一.配置路由器 二.配置服务器 三.电脑开启dhcp服务 总结 前言 这里用的是华为的模拟器ENSP来完成这个实验. 华为的模拟器中PC不能访问服务器,也就是说不能访问网页,所以用Cl ...

  9. Python 发送 email 的三种方式

    Python发送email的三种方式,分别为使用登录邮件服务器.使用smtp服务.调用sendmail命令来发送三种方法 本文原文自米扑博客:Python 发送 email 的三种方式 Python发 ...

最新文章

  1. mysql 添加时间戳列
  2. 我的C#文章模块代码
  3. 【NLP】业界总结 | BERT的花式玩法
  4. Java EE安全性API向前发展
  5. ftp搜索文件_Windows10下搭建FTP服务器详解(多图预警)
  6. python线程池并发爬虫_python 并发专题(二):python线程以及线程池相关以及实现...
  7. vivado 2017.4安装教程
  8. HBase编程api介绍(转)
  9. IOUtils工具类简介及应用
  10. oracle数据库表格连接数据库,excel中连接表格数据库-excel怎样连接oracle数据库(白痴级提问)...
  11. 【时间序列】时间序列数据的缺失填补方法总结
  12. 【机器学习】阿里云天池竞赛——工业蒸汽量预测(4)
  13. Elasticsearch:ingest pipeline 使用示例 - 解析常用日志格式
  14. python字典x in d_给定字典d,哪个选项对x in d的描述是正确的
  15. (诛仙剑C-SKY)2-开发
  16. 全国智能网联与无人驾驶职教联盟筹建工作正式开启
  17. IDC企业的运维一般要做哪些工作呢
  18. XP硬盘安装Ubuntu 10.10系统
  19. Use of undefined constant xxx- assumed 'xxx'
  20. 【Scratch-外观模块】思考指令

热门文章

  1. 【NOI2013】向量内积【随机化】
  2. P4245 【模板】任意模数多项式乘法(NTT)
  3. Coding Contest HDU - 5988
  4. Strange Birthday Party CodeForces - 1471C
  5. [APIO2014] 序列分割(斜率优化dp)
  6. [国家集训队]middle(二分+主席树[中位数思维题])
  7. 洛谷P3357:最长k可重线段集问题(网络流)
  8. YBTOJ洛谷P2387: 魔法森林(LCT)
  9. P6139-[模板]广义后缀自动机(广义 SAM)
  10. P3287-[SCOI2014]方伯伯的玉米田【二维树状数组,dp】