SMTP and it’s Applications

本文介绍了电子邮件系统的基本组成部分,包括MTA、MDA和MUA的功能,以及SMTP、POP3和IMAP等关键协议的工作原理。此外还探讨了MIME编码如何解决非文本数据的传输问题,并简述了C#中SMTP的支持情况及POP3接收邮件的方法。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

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的内容显示成相应的格式等).
 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值