smtp 订阅
SMTP是一种提供可靠且有效的电子邮件传输的协议。SMTP是建立在FTP文件传输服务上的一种邮件服务,主要用于系统之间的邮件信息传递,并提供有关来信的通知。SMTP独立于特定的传输子系统,且只需要可靠有序的数据流信道支持,SMTP的重要特性之一是其能跨越网络传输邮件,即“SMTP邮件中继”。使用SMTP,可实现相同网络处理进程之间的邮件传输,也可通过中继器或网关实现某处理进程与其他网络之间的邮件传输。 [1] 展开全文
SMTP是一种提供可靠且有效的电子邮件传输的协议。SMTP是建立在FTP文件传输服务上的一种邮件服务,主要用于系统之间的邮件信息传递,并提供有关来信的通知。SMTP独立于特定的传输子系统,且只需要可靠有序的数据流信道支持,SMTP的重要特性之一是其能跨越网络传输邮件,即“SMTP邮件中继”。使用SMTP,可实现相同网络处理进程之间的邮件传输,也可通过中继器或网关实现某处理进程与其他网络之间的邮件传输。 [1]
信息
端    口
25
简    称
SMTP
作    用
传输系统之间的邮件信息
中文名
简单邮件传输协议
外文名
Simple Mail Transfer Protocol
SMTP简介
SMTP是一个相对简单的基于文本的协议。在其之上指定了一条消息的一个或多个接收者(在大多数情况下被确认是存在的),然后消息文本会被传输。可以很简单地通过telnet程序来测试一个SMTP服务器。SMTP使用TCP端口25。要为一个给定的域名决定一个SMTP服务器,需要使用MX (Mail eXchange)DNS。 [2]  在八十年代早期SMTP开始被广泛地使用。当时,它只是作为UUCP的补充,UUCP更适合于处理在间歇连接的机器间传送邮件。相反,SMTP在发送和接收的机器在持续连线的网络情况下工作得最好。 [2]  Sendmail是最早使用SMTP的邮件传输代理之一。到2001年至少有50个程序将SMTP实现为一个客户端(消息的发送者)或一个服务器(消息的接收者)。一些其他的流行的SMTP服务器程序包括了Philip Hazel的exim,IBM的Postfix,D. J. Bernstein的Qmail,以及Microsoft Exchange Server。 [2]  由于这个协议开始是基于纯ASCII文本的,它在二进制文件上处理得并不好。诸如MIME的标准被开发来编码二进制文件以使其通过SMTP来传输。今天,大多数SMTP服务器都支持8位MIME扩展,它使二进制文件的传输变得几乎和纯文本一样简单。 [2]  SMTP是一个“推”的协议,它不允许根据需要从远程服务器上“拉”来消息。要做到这点,邮件客户端必须使用POP3或IMAP。另一个SMTP服务器可以使用ETRN在SMTP上触发一个发送。 [2] 
收起全文
精华内容
下载资源
问答
  • SMTP

    2018-11-09 13:06:45
    SMTP通信模型:   用户产生邮件请求 sender-SMTP和receiver-SMTP之间创建一个双向传输通道。 receiver-SMTP可以是终端目的地或者是中转。 sender-SMTP和receiver-SMTP之间传递SMTP命令 sender-SMTP发送...

    SMTP通信模型:

     

    1. 用户产生邮件请求
    2. sender-SMTP和receiver-SMTP之间创建一个双向传输通道。
      1. receiver-SMTP可以是终端目的地或者是中转。
      2. sender-SMTP和receiver-SMTP之间传递SMTP命令
    3. sender-SMTP发送MAIL命令并指明邮件的发送者
    4. 如果receiver-SMTP可以接收邮件,就会返回给sender-SMTP一个OK
    5. sender-SMTP发送RCPT命令并指明邮件的接收者
    6. 如果receiver-SMTP可以为指定的接收者接收邮件就返回OK,否则就返回拒绝接收(但是不是整个邮件传输)
    7. 如果receiver-SMTP拒绝接受,sender-SMTP和receiver-SMTP之间可以继续协商
    8. 协商成功之后,sender-SMTP发送数据
    9. receiver-SMTP接收到之后返回OK

    以上sender-SMTP和receiver-SMTP对话的步骤是步锁的,一次一步

    命令和响应是大小写不敏感的

    SMTP程序:

    发送邮件:
    1.MAIL <SP> FROM:<reverse-path> <CRLF>
    告知SMTP-receiver一个新的邮件传输启动
    让SMTP-receiver重设所有的状态表和缓存,包含接收者和邮件数据
    reverse-path可以用来报告错误
    如果SMTP-receiver成功接收,就会返回一个250 OK
    reverse-path可以有多个邮箱,但是第一个应该是发送命令的主机
    2.RCPT <SP> TO:<forward-path> <CRLF>
    通过forward-path指定一个接收者
    如果SMTP-receiver接收并接受就会返回250 OK并保存接收者
    如果接收者是未知的,就会返回550 Failure
    此命令可重复多次
    forward-path可以包含多个邮箱,但是第一个应该是接收命令的主机
    3.DATA <CRLF>
    如果SMTP-receiver接收到就会返回354 Intermediate,然后接收后续的所有行作为邮件正文(后续行不需要DATA指示)
    接收到文件尾并保存后会返回250 OK,标记文件结束的方式是只含有一个句号的行
    此命令应只会在事务不明确(如没有接收者)或是资源不可使用是失败

    TCP传输服务:

    连接建立:
    建立在发送进程和接收进程之间的全双工连接被作为传输通道,此协议被分配到服务端口(接收进程端口)25。发送端口是本机的一个动态端口
    所以要确保发送程序可以访问服务器的25端口
    数据传输:
    TCP连接支持8位字节传输,SMTP数据是7位ASCII码字符,每个字节的高位置0


     

    展开全文
  • SMTP 

    2009-05-26 09:52:00
    SMTP SMTP:简单邮件传输协议 (SMTP:Simple Mail Transfer Protocol)即简单邮件传输协议,它是一组用于由源地址到目的地址传送邮件的规则,由它来控制信件的中转方式。SMTP协议属于TCP/IP协议族,它帮助每台计算机...

    SMTP    SMTP:简单邮件传输协议   (SMTP:Simple Mail Transfer Protocol)即简单邮件传输协议,它是一组用于由源地址到目的地址传送邮件的规则,由它来控制信件的中转方式。SMTP协议属于TCP/IP协议族,它帮助每台计算机在发送或中转信件时找到下一个目的地。通过SMTP协议所指定的服务器,我们就可以把E-mail寄到收信人的服务器上了,整个过程只要几分钟。SMTP服务器则是遵循SMTP协议的发送邮件服务器,用来发送或中转你发出的电子邮件。  SMTP 是一种提供可靠且有效电子邮件传输的协议。 SMTP 是建模在 FTP 文件传输服务上的一种邮件服务,主要用于传输系统之间的邮件信息并提供来信有关的通知。  SMTP 独立于特定的传输子系统,且只需要可靠有序的数据流信道支持。 SMTP 重要特性之一是其能跨越网络传输邮件,即“ SMTP 邮件中继”。通常,一个网络可以由公用互联网上 TCP 可相互访问的主机、防火墙分隔的 TCP/IP 网络上 TCP 可相互访问的主机,及其它 LAN/WAN 中的主机利用非 TCP 传输层协议组成。使用 SMTP ,可实现相同网络上处理机之间的邮件传输,也可通过中继器或网关实现某处理机与其它网络之间的邮件传输。  在这种方式下,邮件的发送可能经过从发送端到接收端路径上的大量中间中继器或网关主机。域名服务系统(DNS)的邮件交换服务器可以用来识别出传输邮件的下一跳 IP 地址。   在传输文件过程中使用25号端口  SMTP协议原理  SMTP-简单邮件传输协议(SimpleMailTransferProtocol),是定义邮件传输的协议,它是基于TCP服务的应用层协议,由RFC0821所定义。SMTP协议规定的命令是以明文方式进行的。为了说明SMTP的工作原理,我们以向www.oray.gz.cn发送邮件为实例进行说明。  在linux环境下,使用"telnet www.oray.gz.cn 25"连接www.oray.gz.cn的25号端口(SMTP的标准服务端口);在windows下使用telnet程序,远程主机指定为www.oray.gz.cn,而端口号指定为25,然后连接www.oray.gz.cn:交互过程如下:  [lix@nslix]$telnetwww.oray.gz.cn25   Trying202.99.11.120...   Connectedtowww.oray.gz.cn.   Escapecharacteris'^]'.   HELOideal   220www.oray.gz.cnESMTPSendmail8.10.2/8.10.2;Mon,18Sep200013:40:44   +0800   250www.oray.gz.cnHello[210.12.114.130],pleasedtomeetyou   MAILFROM:ideal@btamail.net.cn   2502.1.0IDEAL@btamail.net.cn...Senderok   RCPTTO:ideal@oray.gz.cn   2502.1.5ideal@oray.gz.cn...Recipientok   DATA   354Entermail,endwith"."onalinebyitself   hello,Plstogettomeetu:)goodluck   .   2502.0.0e8I5j1M11204Messageacceptedfordelivery   QUIT   2212.0.0www.oray.gz.cnclosingconnection   Connectionclosedbyforeignhost.   其中黑体部分是输入的命令,其他内容是对方邮件服务器输出的状态信息。  这里,HELO是客户向对方邮件服务器发出的标识自己的身份的命令,这里假设发送者为ideal;MAILFROM命令用来表示发送者的邮件地址;RCPTTO:标识接收者的邮件地址,这里表示希望发送邮件给ideal@oray.gz.cn,如果邮件接收者不是本地用户,例如RCPTTO:ideal@btamail.net.cn,则说明希望对方邮件服务器为自己转发(Relay)邮件,若该机器允许转发这样的邮件,则表示该邮件服务器是OPENRELAY的,否则说明该服务器不允许RELAY;DATA表示下面是邮件的数据部分,输入完毕以后,以一个"."开始的行作为数据部分的结束标识;QUIT表示退出这次会话,结束邮件发送。  这就是一个简单的发送邮件的会话过程,其实当使用outlookexpress等客户软件发送时,后台进行的交互也是这样的,当然,SMTP协议为了处理复杂的邮件发送情况如附件等等,定义了很多的命令及规定,具体可以通过阅读RFC821来获得。  当你的一个朋友向你发送邮件时,他的邮件服务器和你的邮件服务器通过SMTP协议通信,将邮件传递给你邮件地址所指示的邮件服务器上(这里假设你的本地邮件服务器是Linux系统),若你通过telnet协议直接登录到邮件服务器上,则可以使用mail等客户软件直接阅读邮件,但是若你希望使用本地的MUA(MailUserAgent,如outlookexpress等客户软件)来阅读邮件,则本地客户端通过POP3或IMAP协议与邮件服务器交互,将邮件信息传递到客户端(如:win98系统)。而如果你向你的朋友回复一封信件时,你所使用的MUA也是通过SMTP协议与邮件服务(一般为发送邮件地址对应的email地址)器通信,指示其希望邮件服务器帮助转发一封邮件到你朋友的邮件地址指定的邮件服务器中。若本地邮件服务器允许你通过它转发邮件,则服务器通过SMTP协议发送邮件到对方的邮件服务器。这就是接受和发送邮件的全部过程。  什么是mailRelay   邮件服务器一般具有一个或若干个域名(这些域名应该出现在某个配置文件内),邮件服务器在运行时将监听25号端口,等待远程的发送邮件的请求。网络上其他的mail服务器或者请求发送邮件的MUA(MailUserAgent,如outlookexpress、foxmail等等)会连接邮件服务器的25号端口,请求发送邮件,SMTP会话过程一般是从远程标识自己的身份开始,过程如下:  HELOremote.system.domainname   250qmailserver.domain   MAILFROM:user@somewherer.net   250OK   RCPTTO:user1@elsewhere.net   邮件的接收者user1@elsewhere.net中的域名并不一定是邮件接受服务器的所具有的本地域名,也就是说邮件目的可能不是上面协议交互中的接收方,而是邮件发送者希望接收邮件服务器帮助其转发邮件。这时候本地系统可能有两种回答,接受它:  250OK   或者拒绝接受它:   553sorry,.thatdomainisnotinmydomainlistofallowedrecphosts   第一种情况下,本地邮件服务器是允许relay的,它接收并同意传递一个目的地址不是本地的邮件;而第二种情况则不接收非本地邮件。  为什么不能配置邮件服务器为openrelay?  如果系统管理员将自己的邮件服务器设置为openrelay,将会导致一些垃圾邮件发送者将你的邮件服务器作为转发自圾邮件的中继站,这将使垃圾邮件的接收者将矛头对准你,可能会导致报复性的邮件炸弹;垃圾邮件还能消耗你大量的资源,占用你的带宽。更为糟糕的事情可能是你的名字可能会上了黑名单,成为其他邮件接收者共同抵制的目标,你的邮件将被这些接收者所拒绝。  个人SMTP服务器的配置方法   一、安装POP3和SMTP服务组件   Windows Server 2003默认情况下是没有安装POP3和SMTP服务组件的,因此我们要手工添加。   1.安装POP3服务组件   以系统管理员身份登录Windows Server 2003 系统。依次进入“控制面板→添加或删除程序→添加/删除Windows组件”,在弹出的“Windows组件向导”对话框中选中“电子邮件服务”选项,点击“详细信息”按钮,可以看到该选项包括两部分内容:POP3服务和POP3服务Web管理。为方便用户远程Web方式管理邮件服务器,建议选中“POP 3服务Web管理”。   2.安装SMTP服务组件   选中“应用程序服务器”选项,点击“详细信息”按钮,接着在“Internet信息服务(IIS)”选项中查看详细信息,选中“SMTP Service”选项,最后点击“确定”按钮。此外,如果用户需要对邮件服务器进行远程Web管理,一定要选中“万维网服务”中的“远程管理(HTML)”组件。完成以上设置后,点击“下一步”按钮,系统就开始安装配置POP3和SMTP服务了。   二、配置POP3服务器   1.创建邮件域   点击“开始→管理工具→POP3服务”,弹出POP3服务控制台窗口。选中左栏中的POP3服务后,点击右栏中的“新域”,弹出“添加域”对话框,接着在“域名”栏中输入邮件服务器的域名,也就是邮件地址“@”后面的部分,如“MAIL.COM”,最 后点击“确定”按钮。   2.创建用户邮箱   选中刚才新建的“MAIL.COM”域,在右栏中点击“添加邮箱”,弹出添加邮箱对话框,在“邮箱名”栏中输入邮件用户名,然后设置用户密码,最后点击“确定”按钮,完成邮箱的创建。   [1][2]完成POP3服务器的配置后,就可开始配置SMTP服务器了。点击“开始→程序→管理工具→Internet信息服务(IIS)管理器”,在“IIS管理器”窗口中右键点击“默认SMTP虚拟服务器”选项,在弹出的菜单中选中“属性”,进入“默认SM TP虚拟服务器”窗口,切换到“常规”标签页,在“IP地址”下拉列表框中选中邮件服务器的IP地址即可。点击“确定”按钮,此时SMTP服务器默认的是匿名访问,打开切换到“访问”标签页,点击“身份验证”按钮,在对话框中去掉“匿名访问“选项,选中”基本身份验证(Basic authentication)“。这样一个简单的邮件服务器就架设完成了。 [编辑本段]SMTP的工作过程  简单邮件传输协议(SMTP)是一种基于文本的电子邮件传输协议,是在因特网中用于在邮件服务器之间交换邮件的协议。SMTP是应用层的服务,可以适应于各种网络系统。  SMTP的命令和响应都是基于文本,以命令行为单位,换行符为CR/LF。响应信息一般只有一行,由一个3位数的代码开始,后面可附上很简短的文字说明。  SMTP要经过建立连接、传送邮件和释放连接3个阶段。具体为:  (1)建立TCP连接。  (2)客户端向服务器发送HELLO命令以标识发件人自己的身份,然后客户端发送MAIL命令。  (3)服务器端以OK作为响应,表示准备接收。  (4)客户端发送RCPT命令。  (5)服务器端表示是否愿意为收件人接收邮件。  (6)协商结束,发送邮件,用命令DATA发送输入内容。  (7)结束此次发送,用QUIT命令退出。  SMTP服务器基于DNS中的邮件交换(MX)记录路由电子邮件。电子邮件系统发邮件时是根据收信人的地址后缀来定位邮件服务器的。SMTP通过用户代理程序(UA)完成邮件的编辑、收取和阅读等功能;通过邮件传输代理程序(MTA)将邮件传送到目的地。 [编辑本段]SMTP安全和垃圾邮件  最初的SMTP的局限之一在于它没有对发送方进行身份验证的机制。因此,后来定义了SMTP-AUTH扩展。  尽管有了身份认证机制,垃圾邮件仍然是一个主要的问题。但由于庞大的SMTP安装数量带来的网络效应,大刀阔斧地修改或完全替代SMTP被认为是不现实的。Internet Mail 2000就是一个替代SMTP的建议方案。  因此,出现了一些同SMTP工作的辅助协议。IRTF的反垃圾邮件研究小组正在研究一些建议方案,以提供简单、灵活、轻量级的、可升级的源端认证。最有可能被接受的建议方案是发送方策略框架协议。  SMTP模型  smtp提供了一种邮件传输的机制,当收件方和发件方都在一个网络上时,可以把邮件直传给对方;当双方不在同一个网络上时,需要通过一个或几个中间服务器转发。smtp首先由发件方提出申请,要求与接收方smtp建立双向的通信渠道,收件方可以是最终收件人也可以是中间转发的服务器。收件方服务器确认可以建立连接后,双发就可以开始通信。  发件方smtp向收件方发处mail命令,告知发件方的身份;如果收件方接受,就会回答ok。发件方再发出rcpt命令,告知收件人的身份,收件方smtp确认是否接收或转发,如果同意就回答ok;接下来就可以进行数据传输了。通信过程中,发件方smtp与收件方smtp 采用对话式的交互方式,发件方提出要求,收件方进行确认,确认后才进行下一步的动作。整个过程由发件方控制,有时需要确认几回才可以。  为了保证回复命令的有效,smtp要求发件方必须提供接收方的服务器及邮箱。邮件的命令和答复有严格的语法定义,并且回复具有相应的数字代码。所有的命令由ascii码组成。命令代码是大小写无关的,如mail和 mail ﹑mail是等效的。 百度百科中的词条内容仅供参考,如果您需要解决具体问题(尤其在法律、医学等领域),建议您咨询相关领域专业人士。 本词条对我有帮助 341 参考资料: 详解个人SMTP服务器的配置方法 轻松架设自己的SMTP服务器 扩展阅读: 1.http://www.mailwhy.com 邮件十万个为什么 2.http://www.winwinsoft.com.cn 邮件smtp 3.http://www.phplamps.cn/html/LAMP//200811/28-1370.html 4.http://www.networkdictionary.com/chinese/protocols/smtp.php [我来完善]相关词条: 更多 LDAPMIMESNMPUDPICMPPPPOEARPRPCTCP网络新闻传输协议反向地址转换协议BOOTPNETBIOSSIPPOP3NTPRTPRTSPIMAP4DHCPRDPCDP 开放分类: 网络协议 邮件 邮件系统 更多 合作编辑者: 新呼吸Ⅱ、winwinsoft、smilehpj、ws00377531、妫天香、xqlamber、内文斯、oray花生壳、xletian、微笑接纳一切1 如果您认为本词条还需进一步完善,百科欢迎您也来参与编辑词条 在开始编辑前,您还可以先学习如何编辑词条 “SMTP”在英汉词典中的解释(来源:百度词典): SMTP abbr. 1. =Simple Mail Transfer Protocol 【电脑】简单信件传输协定

    展开全文
  • 协议基础:SMTP:使用Telnet学习SMTP协议

    万次阅读 多人点赞 2018-07-30 20:05:50
    SMTP是简单邮件传输协议的缩写,这篇文章将通过如何使用telnet命令发生邮件结合RFC文档来学习一下SMTP协议的基础知识。 OSI模型 &amp;amp;amp;amp; SMTP SMTP vs POP3 &amp;amp;amp;amp; IMAP SMTP和...

    SMTP是简单邮件传输协议(Simple Mail Transfer Protocol)的缩写,这篇文章将通过如何使用telnet命令发生邮件结合RFC文档来学习一下SMTP协议的基础知识。

    OSI模型 & SMTP

    根据OSI7层或者5层的模型不同,各层常见的协议信息如下:
    这里写图片描述

    其实协议众多,这里借用一张来源与网络的整理结果用于展示OSI7层模型的常见协议的信息,包括应用层的SMTP/POP3/IMAP4

    这里写图片描述

    SMTP vs POP3 & IMAP4

    这里写图片描述
    SMTP和POP3以及IMAP都是用来做什么的,简单的来说,smtp主要负责发,pop3和imap主要负责收。
    一封邮件的发&收的流程是通过SMTP进行发送,使用POP3或者IMAP4进行接收的。
    这里写图片描述

    SMTP RFC文档

    SMTP的RFC初始版本是RFC 821,以下列出了SMTP相关的一部分RFC变化的列表

    RFC版本 时间 说明 URL
    RFC 821 1982/08 初始版本 https://tools.ietf.org/html/rfc821
    RFC 974 1986/01 域名系统需求和实现相关 https://tools.ietf.org/html/rfc974
    RFC 1035 1987/11 域名系统需求和实现相关 https://tools.ietf.org/html/rfc1035
    RFC 1869 1995/11 ESMTP规格扩展 https://tools.ietf.org/html/rfc1869
    RFC 2841 2001/04 - https://tools.ietf.org/html/rfc2841
    RFC 5321 2008/10 - https://tools.ietf.org/html/rfc5321

    SMTP模型

    参看RFC5321,可以了解到SMTP的模型如下:
    这里写图片描述

    常用指令

    SMTP中包含一些基本的命令用于客户端和服务器端进行交互,现列出一些常见的指令:

    指令 说明
    HELO 与服务器确认,通知其客户端使用的机器名称,一般邮件服务器不做限定
    AUTH 使用AUTH LOGIN与服务器进行登录验证
    MAIL FROM 发件人信息,填写与认证信息不同往往被定位为垃圾邮件或恶意邮件
    RCPT TO 收信人地址
    DATA 输入邮件基本信息
    FROM 邮件基本信息:发信人显示信息(此处可以伪造身份,但是非常容易被识别)
    FROM 邮件基本信息:服务器收件人显示信息
    SUBJECT 邮件基本信息:邮件标题,不填写也往往容易被定位为垃圾邮件
    QUIT 断开链接

    常见指令返回码说明

    返回码 说明
    220 服务就绪
    250 请求动作成功完成
    235 认证通过
    221 处理中
    354 发送开始,往往与data指令结合
    500 指令错误
    550 命令无法执行

    基本流程

    SMTP客户端与SMTP服务器端一个常见的流程如下所示:

    Created with Raphaël 2.1.2SMTP客户端SMTP客户端SMTP服务器端SMTP服务器端HELO 机器名(SMTP服务器,这是我的机器名)250 OK我要登录:输入用户名/密码AUTH LOGIN334 返回码(eg:dXNlcm5hbWU6)邮箱登录名的base64编码334 返回码(eg:UGFzc3dvcmQ6)登录密码base64编码235 Authentication successful设定发信人地址MAIL FROM:<发信人地址eg:devopsadmin@163.com>250 Mail OK设定收信人地址RCPT TO:<收信人地址eg:liumiaocn@outlook.com>250 Mail OK我要写信了DATA354 End data with <CR><LF>.<CR><LF>设定From/To/Subject/信件内容,最后以.结束好的,给你发信250 Mail OK

    TELNET

    使用telnet可以使用SMTP指令与服务器端进行交互,不同的OS telnet的安装不同,比如:

    操作系统 安装方式
    CENTOS yum install telnet
    MacOS brew install telnet
    Alpine apk add busybox-extras(Alpine 3.7版本以后,之前包含在busybox中)

    验证

    这里使用163的免费信箱进行mail发送试验,信息如下:

    项目 说明
    发送方 devopsadmin@163.com
    接收方 liumiaocn@outlook.com
    邮件标题 confirm information

    邮件内容

    Hi, Michael
    
    I got your message.
    Looking forward to meeting you.
    
    Thanks & Best Regards.

    操作日志

    [root@platform ~]# telnet smtp.163.com 25
    Trying 123.125.50.134...
    Connected to smtp.163.com.
    Escape character is '^]'.
    220 163.com Anti-spam GT for Coremail System (163com[20141201])
    HELO liumiao
    250 OK
    AUTH LOGIN
    334 dXNlcm5hbWU6
    ZGV2b3BzYWRtaW4=
    334 UGFzc3dvcmQ6
    密码的base64编码
    235 Authentication successful
    MAIL FROM:<devopsadmin@163.com>
    250 Mail OK
    RCPT TO:<liumiaocn@outlook.com>
    250 Mail OK
    DATA
    354 End data with <CR><LF>.<CR><LF>
    FROM: devopsadmin@163.com
    To: liumiaocn@outlook.com
    Subject: confirm information
    Hi, Michael
    
    I got your message.
    Looking forward to meeting you.
    
    Thanks & Best Regards.
    .
    250 Mail OK queued as smtp4,DtGowAAHhSrBwV5bL3XJAA--.5571S2 1532936690
    Connection closed by foreign host.
    [root@platform ~]#

    邮件接收

    这里写图片描述

    操作说明

    注意事项

    输入AUTH LOGIN之后需要输入用户名和密码进行登录,登录时注意如下事项

    • 登录名称为@之前的内容的base64编码,比如devopsadmin@163.com为devopsadmin的base64编码
    • base64编码基本等于明码,但是使用的过程中请注意是否包含回测换行符号,比如devopsadmin的base64编码生成:echo -n “devopsadmin” |base64
    • 密码不是邮箱的密码,网易的话专门还有一个密码,请注意
    • 邮件发送往往服务器端需要做设定,请确认相关的邮件服务器
    • 垃圾邮件不同的邮件系统判断标准不同,一般正确将全部信息填完基本没有问题

    base64编码的换行

    请注意看一下如下代码包含换行与否的情况,认证通不过的时候,请注意检查

    [root@platform ~]# echo -n "devopsadmin" |base64
    ZGV2b3BzYWRtaW4=
    [root@platform ~]# echo "ZGV2b3BzYWRtaW4=" |base64 -d
    devopsadmin[root@platform ~]# 
    [root@platform ~]# 
    [root@platform ~]# echo "devopsadmin" |base64
    ZGV2b3BzYWRtaW4K
    [root@platform ~]# echo "ZGV2b3BzYWRtaW4K" |base64 -d
    devopsadmin
    [root@platform ~]# 

    DATA段

    DATA段为mail的正文,在这里还可以设定FROM/TO,有些人会在这里试图改变设定来攥改发信的地址,比如那些垃圾邮件的发送者,基本上邮件系统都会在这里做防护。比如163的邮箱,反垃圾邮件的策略如下,对伪造邮件头或者其他方式的欺骗性手段都会进行判断:

    
    1、收件人事先没有提出要求或者同意接收且无法拒收的;
    
    2、使用或包括无效的或伪造的邮件头;
    
    3、使用或包括伪造的、无效的或者不存在的域名;
    
    4、利用任何技术伪造、隐藏或掩盖传输路径来源的识别信息;
    
    5、使用任何方式生成欺骗性地址信息;
    
    6、在没有获得第三方许可的情况下使用、中继或通过第三方的互联网设备;
    
    7、主题行或内容包含错误、误导或虚假的信息;
    
    8、违反了国家相关法律规定和网易服务条款。

    比如DATA部分的FROM/TO/Subject等不正常设定,你很容易会收到包含554 DT:SPM的信息:

    554 DT:SPM 163 smtp4,DtGowABXwXYYqF5bzXrBAA--.5359S2 1532930131,please see http://mail.163.com/help/help_spam_16.htm?ip=61.152.164.43&hostid=smtp4&time=1532930131

    以下为网易免费邮箱关于垃圾邮件相关的错误码:

      •554 DT:SPM 发送的邮件内容包含了未被许可的信息,或被系统识别为垃圾邮件。请检查是否有用户发送病毒或者垃圾邮件;
      •554 DT:SUM 信封发件人和信头发件人不匹配;
      •554 IP is rejected, smtp auth error limit exceed 该IP验证失败次数过多,被临时禁止连接。请检查验证信息设置;
      •554 HL:IHU 发信IP因发送垃圾邮件或存在异常的连接行为,被暂时挂起。请检测发信IP在历史上的发信情况和发信程序是否存在异常;
      •554 HL:IPBIP不在网易允许的发送地址列表里;
      •554 MI:STC 发件人当天内累计邮件数量超过限制,当天不再接受该发件人的投信。请降低发信频率;
      •554 MI:SPB 此用户不在网易允许的发信用户列表里;
      •554 IP in blacklist 该IP不在网易允许的发送地址列表里。

    PS:技术不是用来发送垃圾邮件或者欺骗性的邮件的,而且很多免费的资源往往本身具有公益性质,请不要利用别人没有关闭的门窗让互联网变得更加污浊,学习的时候也请给自己发信不要打扰别人。

    参考文档

    https://tools.ietf.org/html/rfc5321
    http://help.163.com/09/1224/14/5RAB4VK500753VB8.html?servCode=6010330
    http://help.163.com/09/1224/17/5RAJ4LMH00753VB8.html

    展开全文
  • SMTP扫描

    2019-04-30 19:54:05
    SMTP SMTP扫描最主要的作用是发现目标主机上的邮件账号。通过主动对目标的SMTP(邮件服务器)发动扫描。 首先可以使用nc去尝试连接目标邮件服务器,然后使用VRFYroot命令探测目标是否有root账号。 NMAP SMTP扫描 ...

    SMTP

    SMTP扫描最主要的作用是发现目标主机上的邮件账号。通过主动对目标的SMTP(邮件服务器)发动扫描。

    首先可以使用nc去尝试连接目标邮件服务器,然后使用VRFYroot命令探测目标是否有root账号。

    NMAP SMTP扫描

    在使用NMAP扫描SMTP之前需要确认对方SMTP端口已经开放了的,这便需要前期的端口扫描了。然后便可以使用NMAP调用与之有关的smtp脚本对其进行扫描了。

    root@kali:~# nmap smtp.163.com -p25 --script=smtp-enum-users.nse --script-args= smtp-enum-users.methods={VRFY}
    #返回结果,并没有发现账号
    |_  Couldn't find any accounts
    

    NMAP中与smtp扫描有关的脚本程序是smtp-enum-users.nse
    参数:smtp-enum-users.methods={VERY}实际上是指定使用什么方式对其smtp账号进行验证。这里使用能了VERY的方法。

    此外我们除了扫描smtp的用户账号之外,还可以扫描smtp是否开放中继,就是可以使用邮件服务器中的账号对任意账号发送邮件。
     

    展开全文
  • smtp协议

    千次阅读 2018-05-20 16:15:25
    基本概念SMTP(Simple Mail Transfer Protocol)即简单邮件传输协议,它是一组用于由源地址到目的地址传送邮件 的规则,由它来控制信件的中转方式。SMTP协议属于TCP/IP协议簇,它帮助每台计算机在发送或中转信件 时...
  • 错误报告内容:Could not connect to SMTP host: smtp.163.com, port: 25 翻译起来就是:不能连接到smtp.163.com,因为25号端口的原因。   问题解决 这是因为腾讯云(阿里云)基于安全考虑,会禁用25端口。 ...
  • SMTP协议介绍

    万次阅读 多人点赞 2017-04-03 17:13:46
    1、SMTP介绍 基本概念 SMTP(Simple Mail Transfer Protocol)即简单邮件传输协议,它是一组用于由源地址到目的地址传送邮件 的规则,由它来控制信件的中转方式。SMTP协议属于TCP/IP协议簇,它帮助每台计算机在发送...
  • SMTP协议?SMTP端口号?SMTP服务器?

    万次阅读 2013-03-07 12:19:06
    【转】SMTP协议?SMTP端口号?SMTP服务器? SMTP:简单邮件传输协议  (SMTP:Simple Mail Transfer Protocol)  SMTP 是一种提供可靠且有效电子邮件传输的协议。 SMTP 是建模在 FTP 文件传输服务上...
  • 网络产品推广和新闻消息推送时,经常用到的工具就是用客户邮箱发送邮件了,如果是要发送的邮件量非常大的话,一般的建议是搭建自己的邮局服务器,或者是花钱购买专业的邮件群发服务,免费邮箱的SMTP适合少量的邮件...
  • 原文:Could not connect to SMTP host: smtp.qq.com, port: 25; 译文:无法连接到SMTP主机:smtp.qq.com,端口:25; 原因分析: 1.邮件服务器地址 2.邮件服务器端口后 3.账号 4.密码,不一定时登录密码可能时授权码 5....
  • wireshark抓smtp

    千次阅读 2020-06-16 23:04:44
    如果你要使用Foxmail发送邮件,并用wireshark抓smtp时,看下这张图片,我试了很久,最后把SSL的选项去勾之后就可以了 最后成功抓到SMTP: 建议大家遇到错误的时候可以多尝试修改一下。
  • SMTP命令

    千次阅读 2017-05-23 23:43:58
    SMTP(Simple Mail Transfer Protocol)简单邮件传输协议 Basic Commands: HELO(Hello):标识用户身份 MAIL FROM:发件人地址 RCPT TO(Recipient To):接收人地址 DATA:消息内容 RSET(Reset):...
  • SMTP发送邮件

    千次阅读 2016-05-05 14:44:36
    SMTP是发送邮件的协议,Python内置对SMTP的支持,可以发送纯文本邮件、HTML邮件...Python对SMTP支持有smtplib和email两个模块,email负责构造邮件,smtplib负责发送邮件。 首先,我们来构造一个最简单的纯文本邮件:
  • SMTP命令行

    千次阅读 2013-12-19 19:52:56
    SMTP命令行 2008/08/24 10:45 明确SMTP协议的过程,据此编写邮件发送程序。 1. SMTP SMTP (Simple Mail Transfer Protocol) : 电子邮件从客户机传输到服务器或从某一个服务器传输到另一个服务器使用的...
  • 电子邮件发送协议主要是SMTP,收件协议主要是POP3和IMAP; SMTP 的全称是“Simple Mail Transfer Protocol”,即简单邮件传输协议。它是一组用于从源地址到目的地址传输邮件的规范,通过它来控制邮件的中转方式。...
  • Exception in thread "main" javax.mail.MessagingException: Could not connect to SMTP host: smtp.gmail.com, port: 465; nested exception is: java.net.ConnectException: Connection timed out: connect at...
  • 解决 SMTP Error: Could not connect to SMTP host. 问题 我在使用PHPmailer发邮件时候,遇到了这个问题“SMTP Error: Could not connect to SMTP host.”,。 这个错误是PHP版本7产生的。如果我将PHP更改为5,它就...
  • SMTP端口选择

    千次阅读 2018-02-02 17:10:22
    SMTP Port 25, 465, 587 or 2525 – how to choose the right SMTP Port? 原文地址:https://pepipost.com/blog/25-465-587-2525-choose-the-right-smtp-port/ SMTP Port 25, 465, 587, 2525.. Which port ...
  • smtp发邮件

    千次阅读 2017-10-11 14:09:05
    java smtp 发送邮件
  • SMTP协议分析

    千次阅读 2017-04-21 10:06:17
     SMTP(Simple Mail Transfer Protocol):简易邮件传输通讯协议 SMTP是互联网上的一种通讯协议,主要功能是用在传送电子邮件,当我们通过电子邮件程序,寄E-mil给另外一个人时,必须通过SMTP通讯协议,将邮件送
  • 邮件协议POP3/IMAP/SMTP服务的区别 常用邮箱的 IMAP/POP3/SMTP 设置
  • 客户端与smtp服务器之间的交流是通过smtp命令来完成 常见的smtp命令如表所示 命令 含义 HELO 客户机向服务器问候 MAIL 指定邮件的发送者 RCPT 指定邮件的接收者 DATA 指示...
  • SMTP协议

    2012-07-22 09:39:10
    SMTP协议 这段时间在看网络高级编程,对于SMTP协议C#进行了很多封装,使我们使用起来相当方便 SMTP是英文Simple Mail Transfer Protocol的缩写,意为简单邮件传输协议,默认端口为25 在SMTP协议中,电子邮件...
  • Python SMTP发送邮件

    千次阅读 2020-02-03 18:56:22
    SMTP(Simple Mail Transfer Protocol)即简单邮件传输协议,它是一组用于由源地址到目的地址传送邮件的规则,由它来控制信件的中转方式。 python的smtplib提供了一种很方便的途径发送电子邮件。它对smtp协议进行了...
  • SMTP;ESMTP

    千次阅读 2017-07-01 13:39:22
    什么是 SMTP SMTP (Simple Mail Transfer Protocol) :电子邮件从客户机传输到服务器或从某一个服务器传输到另一个服务器使用的传输协议。 SMTP 是请求/响应协议,命令和响应都是基于ASCII 文本,并以 CR 和 LF 符...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 50,314
精华内容 20,125
关键字:

smtp