第17章 网络客户端编程(2)

17.3 网络新闻

17.3.2 网络新闻传输协议(NNTP)

供用户在新闻组中下载或发表帖子的方法叫网络新闻传输协议(NNTP).

FTP需要不同的端口来做登录、数据传输和控制,而NNTP只使用一个标准端口119来做通讯。

17.3.3 Python和NNTP

NNTP服务器的配置不一样。登录这一步是可选的。

在你登录完成后,你要调用group()方法来选择一个感兴趣的新闻组。

17.4 电子邮件

电子邮件的确切定义是“消息由头域(合起来叫消息头)以及后面可选的消息体组成“。

17.4.2 发送电子邮件

简单邮件传输协议(SMTP, Simple Mail Transfer Protocol)

SMTP由已故的Jonathan Postel创建。

17.4.3 Python和SMTP

也存在一个smtplib模块和一个smtplib.SMTP类要实例化。

1. 连接到服务器

2. 登录(如果需要的话)

3. 发出服务请求

4. 退出

登录是可选的,只有在服务器打开了SMTP认证时才能登录。跟NNTP一样,SMTP通讯时,只要一个端口25.

17.4.4 smtplib.SMTP类方法

sendmail()的所有参数都要遵循RFC-2822,即电子邮件地址必须要有正确的格式,消息体要有正确的前导头,前导头后面是两个回车和换行对(\r\n).

实际的消息体不是必要的,根据RFC-2822,唯一要求的头信息只有发送日期和发送地址,即Date和From。

17.4.5 交互式SMTP示例

import smtplib   
  
smtp = smtplib.SMTP()   
smtp.connect("smtp.yeah.net", "25")   
smtp.login('用户名', '密码')   
smtp.sendmail('from@yeah.net', 'to@21cn.com', 'From: from@yeah.net/r/nTo: to@21cn.com/r/nSubject: this is a email from python demo/r/n/r/nJust for test~_~')   
smtp.quit()  
17.4.7 接收电子邮件

在家用电脑中运行的应用程序叫邮件用户代理(mail user agent, MUA)。MUA从服务器上下载邮件。

17.4.8 POP和IMAP

邮局协议(POP)的目的是让用户的工作站可以访问邮件服务器里的邮件。邮件要能从工作站通过简单邮件传输协议(SMTP)发送到邮件服务器。

在POP之后几年,出现另一个协议,叫交互式邮件访问协议(Interactive Mail Access Protocol, IMAP).

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值