网络——发送email(一个简单荔枝)
2016-01-31 16:34
387 查看
【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)
相关文章推荐
- java对世界各个时区(TimeZone)的通用转换处理方法(转载)
- java-注解annotation
- java-模拟tomcat服务器
- java-用HttpURLConnection发送Http请求.
- java-WEB中的监听器Lisener
- Android IPC进程间通讯机制
- android wifi 无线调试
- Android Native 绘图方法
- Android java 与 javascript互访(相互调用)的方法例子
- 介绍一款信息管理系统的开源框架---jeecg
- 聚类算法之kmeans算法java版本
- java实现 PageRank算法
- PropertyChangeListener简单理解
- c++11 + SDL2 + ffmpeg +OpenAL + java = Android播放器
- 插入排序
- 冒泡排序
- 堆排序
- 快速排序