网络——发送email(一个简单荔枝)
【0】README
1) 本文文字描述 轉(zhuǎn)自 core java volume 2 , 旨在理解 網(wǎng)絡(luò)——發(fā)送email 的基礎(chǔ)知識 ;
2) for souce code , please visit https://github.com/pacosonTang/core-java-volume/tree/master/coreJavaAdvanced/chapter3/JavaMail
【1】網(wǎng)絡(luò)——發(fā)送email 相關(guān)
1)SMTP : simple mail transformation protocol(簡單郵件傳輸協(xié)議);(干貨——SMTP定義)
2)過去,編寫程序通過創(chuàng)建到 SMTP 專用的端口25 來發(fā)送郵件是一個很簡單的事情。簡單郵件傳輸協(xié)議用于描述 Email 消息的格式。
- 2.1)一旦連接到server, 就可以發(fā)送一個郵件報頭,緊隨其后的是郵件消息;
- 2.2)以下是詳細(xì)操作過程(steps): (干貨——發(fā)送郵件消息的steps)
- step1) 打開一個到達(dá)主機(jī)的套接字;
- step2)發(fā)送以下消息到 打印流:
3)SMTP規(guī)定: 每一行都要以 \r 再緊跟一個 \n 來結(jié)尾;
4)看個荔枝: 如何用 javaMail API 在java 程序中發(fā)送 email; (干貨——如何用 javaMail API 在java 程序中發(fā)送 email;)
step1)讀入屬性文件, 然后像下面這樣獲取一個郵件會話:
Session mailSession = Session.getDefaultInstance(props);
step2)然后,用恰當(dāng)?shù)陌l(fā)送者, 接收者, 主題和消息文本來創(chuàng)建消息:
// 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) 將消息發(fā)送走:
Transport tr = mailSession.getTransport();
tr.connect(null, password);
tr.sendMessage(message, message.getAllRecipients());
finally
tr.close();
5)怎樣設(shè)置 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提供的用于發(fā)送郵件的唯一傳輸類 Transport 使用了 SMTP 協(xié)議。 java 文檔中 SMTP Transport類的文檔描述主要是關(guān)于 com.sun.mail.smtp 包的;
請務(wù)必閱讀包級別的javadoc,其描述您可以設(shè)置的屬性,還有該包中個別類的javadoc 。(干貨——所以,5.1中的文檔鏈接,必須要閱讀以對 SMTP有個大致的overview)
總結(jié)
以上是生活随笔為你收集整理的网络——发送email(一个简单荔枝)的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 网络——提交表单数据(post方式)
- 下一篇: javah导出类的头文件抛出异常——ja