JavaMail学习之一-邮件传输协议
协议:规定好的格式就是协议。就像http协议有请求协议和响应协议,邮件传输也分为发、收邮件的协议。
邮件协议分3种:
发邮件的:SMTP (Simple Mail Transport Protocal)简单邮件传输协议
收邮件的协议:pop3 (Post Office Protocal 3)邮局协议3
IMAP 新协议 发邮件也可以收邮件。
http协议是组织好协议,一块扔给服务器,而SMTP和pop3则是一步步的与服务器交互,对话模式。接收到服务器的响应后才能发起下次请求。
收发邮件的过程:一般情况下,smtp和pop3是两个服务器(主机)。Smtp邮件的端口为25。POP3 端口 为110。
用Foxmail登录邮箱:
在网易上能查出来相关服务器信息:http://help.163.com/09/1223/14/5R7P6CJ600753VB8.html
qq邮箱:http://service.mail.qq.com/cgi-bin/help?subtype=1&no=167&id=28
E-Mail协议简介:
邮件服务器,按照提供的服务类型,可以分为发送邮件的服务器和接收邮件的服务器。
发送邮件的服务器使用发送协议,现在常用的是SMTP协议。所以,通常发邮件的服务器也称为SMTP服务器。
接收邮件的服务器使用接收协议,现在常用的是POP3协议或IMAP协议,所以通常也被称为POP3或IMAP服务器。
目前经常见到的服务器为SMTP和POP3服务器。如大家在注册了126的邮箱之后,它的发邮件服务器为smtp.126.com:25,而收邮件服务器则为pop3.126.com:110.(冒号后面的为端口号)。
当然,发邮件服务器和收邮件服务器也可能是同一台主机,但端口号一定不相同。默认发邮件服务器的端口为25,收邮件的端口为110.
邮件发送的工作图:
邮件收/发协议:
SMTP协议-发邮件协议
全称为Simple Mail Transfer Protocol(简单邮件传输协议),它定义了邮件客户端软件与SMTP服务器之间、以及两台SMTP服务器之间的通讯规则。端口一般为25.
POP3协议-收邮件协议
全称为Post Office Protocol(邮局协议),它定义了邮件客户端软件与POP3服务器的通讯规则。端口一般为110.
IMAP协议-对POP3的扩展
全称为Internet Message Access Protocal(Internet消息访问协议),它是对POP3协议的一种扩展,定义了邮件客户端软件与IMAP服务器的通讯规则。
SMTP发邮件协议的命令
POP3协议的命令
通过命令行发邮件的示例:
发邮件时,要对用户名和密码进行base64编码
第一步:与服务器建立连接。
telnet smtp.126.com 25
第二步:先和服务器打个招乎。Ehlo someTxt
第三步:请求登录:auth login.
输入用户名:经过base64编码以后的。
输入密码,也是经过base64编码以后的。
第四步:输入发件人mail from:<wangjian_me@126.com>
第五步:输入收件人rcpt to:<wangjianme@sohu.com>
第六步:输入data命令然后回车,开始输入数据。
可选的输入from:<…>
可选的输入to:<..>
subject:主题
第七步:输入.(点)单行,表示数据结束。
第八步:输入quit退出。
接收邮件:pop3:
telnet pop3.126.com 110
user wj_leaf12345
pass 1qaz2wsx
stat - 显示总体信息。
list - 列出所有信件。
retr 1 - 显示第一封信件。
quit -退出
JavaMail学习之一-邮件传输协议的更多相关文章
- 【RL-TCPnet网络教程】第33章 SMTP简单邮件传输协议基础知识
第33章 SMTP简单邮件传输协议基础知识 本章节为大家讲解SMTP(Simple Mail Transfer Protocol,简单邮件传输协议)的基础知识,方便后面章节的实战操作. (本 ...
- 45.简单邮件传输协议 SMTP
一丶简单邮件传输协议 简单邮件传输协议 简单邮件传输协议 SMTP smtplib 模块:(在 Python3版本中,可以通过 SMTP协议发送邮件的模块常为 smtplib, 并且这个模块属于内置模 ...
- SMTP 简单邮件传输协议
SMTP 锁定 本词条由“科普中国”百科科学词条编写与应用工作项目 审核 . SMTP(Simple Mail Transfer Protocol)即简单邮件传输协议,它是一组用于由源地址到目的地址传 ...
- 理解邮件传输协议(SMTP、POP3、IMAP、MIME)
http://blog.csdn.net/xyang81/article/details/7672745 电子邮件需要在邮件客户端和邮件服务器之间,以及两个邮件服务器之间进行传递,就必须遵循一定的规则 ...
- SMTP邮件传输协议发送邮件和附件
在以前接触的项目中,一直都是在做网站时用到了发送mail 的功能,在asp 和.net 中都有相关的发送mail 的类, 实现起来非常简单.最近这段时间因工作需要在C++ 中使用发送mail 的功能, ...
- SMTP邮件传输协议发送邮件和附件(转)
1. SMTP 常用命令简介 1). SMTP 常用命令 HELO/EHLO 向服务器标识用户身份 MAIL 初始化邮件传输 mail from: RCPT 标识单个的邮件接收人:常在MAIL ...
- 简单邮件传输协议SMTP
1.SMTP是由源地址到目的地址传送邮件的一组规则,用来控制信件的中转方式. 2.SMTP服务器是遵循SMTP协议的发送邮件服务器,用来发送或者中转发出的邮件,客户端通过SMTP命令与SMTP服务器进 ...
- TCP学习之四:传输协议
参考学习张子阳大神的博客:http://www.cnblogs.com/JimmyZhang/category/101698.html 服务端接收到的数据可能是被截断或合并后的数据,需要协议来 ...
- C#使用简单邮件传输协议(SMTP)发送邮件
1.首先引入命名空间: using System.Net.Mail; 2.定义邮件配置类: public class EmailServiceConfig { /// <summary> ...
随机推荐
- PRId64的正确用法
#include <inttypes.h> #include <stdint.h> #include <stdio.h> // g++ -g -o x x.cpp ...
- golang闭包里的坑
介绍 go的闭包是一个很有用的东西.但是如果你不了解闭包是如何工作的,那么他也会给你带来一堆的bug.这里我会拿出Go In Action这本书的一部分代码,来说一说在使用闭包的时候可能遇到的坑.全部 ...
- (最小生成树)Jungle Roads -- HDU --1301
链接: http://acm.hdu.edu.cn/showproblem.php?pid=1301 http://acm.hust.edu.cn/vjudge/contest/view.action ...
- Codeforces805 C. Find Amir 2017-05-05 08:41 140人阅读 评论(0) 收藏
C. Find Amir time limit per test 1 second memory limit per test 256 megabytes input standard input o ...
- HDU1518 Square(DFS) 2016-07-24 15:08 49人阅读 评论(0) 收藏
Square Problem Description Given a set of sticks of various lengths, is it possible to join them end ...
- poj1836 Alignment
Alignment Time Limit: 1000MS Memory Limit: 30000K Total Submissions: 11707 Accepted: 3730 Descri ...
- 破解Oracle ERP密码
前提:你有apps的数据库账户,想知道某个用户的密码,因为fnd_user中的密码为加密的,所以无法看懂,你可以尝试用下边的方式来查看用户密码. SQL> desc fnd_user; Name ...
- abp + angular $http + webapi 服务
什么是angular $http服务 http是angularjs的一个核心服务,用于读取远程服务器的数据,也就是封装了浏览器原生的xhtmlrequest对象,可以直接同外部进行通信. 怎样使用an ...
- 第七章 ReentrantLock总结
常用方式: int a = 12; //注意:通常情况下,这个会设置成一个类变量,比如说Segement中的段锁与copyOnWriteArrayList中的全局锁 final ReentrantLo ...
- 201621123023《Java程序设计》第5周学习总结
一.本周学习总结 1.1 写出你认为本周学习中比较重要的知识点关键词 接口.interface.comparable.comparator 1.2 尝试使用思维导图将这些关键词组织起来.注:思维导图一 ...