现在的位置: 首页 > 综合 > 正文

SMTP and it’s Applications

2019年03月12日 ⁄ 综合 ⁄ 共 1088字 ⁄ 字号 评论关闭
e-mail model:
几乎所有的互联网邮件系统应用Unix E-Mail模型。Unix E-Mail模型把E-Mail功能分成三部分:
MTA(Message Transfer Agent),负责发送和接收邮件。
MDA(Message Delivery Agent),负责向本地系统的邮件用户分派邮件。
MUA(Message User Agent),负责从远程访问邮箱服务器。
 
相关协议:
SMTP(Simple Mail Transfer Protocol),是用来邮件传输的协议。
 
POP3(Post Office Protcol, Version 3),是用来访问邮件服务器,接收邮件的协议。
 
IMAP(Interactive Mail Access Protocol),同POP3一样用来访问邮件服务器,但方式不一样,POP3将邮件下载到本地,IMAP可以不用下载到本地,用户可以在服务器建立文件夹,收邮件,邮件存放在服务器。
MIME(Multipurpose Internet Mail Extentions),因为
SMTP
只能传送文本,在传送附件这样的二进制类型的时候需要编码。有一种是
uuencode
,是
UNIX
下常用的编码方式,但最常用的是
MIME

MIME
包括几种编码方式,其中有最常用的
base64
编码方式。

 

C#对SMTP
的支持:(
包装了原有的Windows组件)
C#提供了SmtpMail,MailMessage,MailAttachment等类来简化邮件发送过程。发送邮件需要SMTP Server。(试验SmtpMail类的话,或者本地有SMTP Server, 或者有SMTP Server中转。一般SMTP Server不是中转所有发往它,而目标地址又不是它的邮件,这样的话,容易被滥用,而导致垃圾邮件,需要一定的权限机制。FoxMail这样的软件发邮件时是如何工作的呢?)
 
用POP3接收邮件
POP3邮件服务器的服务端口是110。Client通过发送文本命令到POP3服务器,然后得到响应的方式接收邮件。常用命令有USER(指定用户名),PASS(指定用户密码),STAT(统计有多少有件和邮件占用空间),LIST(列表),TOP(得到某条邮件的头信息),RETR(返回某条邮件的数据)。可以用Telnet命令的方式收邮件。用C#编程的方法可以先建立一个Tcp连接,然后用StreamWriter,StreamReader发送命令得到响应,模拟Telnet过程。(即使2进制数据在邮件的发送过程中也都转换成了可视字符,想正确得到所有内容,还需要解码,对于支持html的内容显示成相应的格式等).

 

抱歉!评论已关闭.