计算机网络课后——socket编程(邮件客户)

计网课后编程作业

邮件客户(SMTP)

这个编程作业的目的是创建一个向任何接收方发送电子邮件的简单邮件客户。你的客户将必须与邮件服务器(如谷歌的电子邮件服务器)创建一个TCP连接,使用SMTP协议与邮件服务器进行交谈,经该邮件服务器向某接收方(如你的朋友)发送一个电子邮件报文,最后关闭与该邮件服务器的TCP连接。

对本作业,配套Web站点为你的客户提供了框架代码。你的任务是完善该代码并通过向不同的用户账户发送电子邮件来测试你的客户。你也可以尝试通过不同的服务器(例如谷歌的邮件服务器和你所在大学的邮件服务器)进行发送。

备注

测试过可以运行哒~~邮件内容在程序中已经设置好了,直接运行python程序邮箱就可以收到信息啦!
 
下面直接奉上:
 

源码
SMTPClient
from smtplib import SMTP
from email.mime.text import MIMEText
from email.header import Header

mail_server = 'smtp.gmail.com'
# 根据发送方邮箱确定邮箱服务器
# qq邮箱的服务器为smtp.qq.com;163邮箱为smtp.163.com
def get_mail_server(sender):
	key = sender[sender.index('@')+1:]
	return "smtp."+key

port = '25'  ## SMTP协议默认端口是25
sender = '*********@qq.com'
mail_server = get_mail_server(sender)
sender_pass = '******'    #注意是授权码,而不是登录密码,需要在邮箱端先获取,具体方法百度一下就好
receiver = '***********@gmail.com'
mail_msg = 'this is a demo'

# 第一个参数就是邮件正文,
# 第二个参数是MIME的subtype,传入'plain'表示纯文本,最终的MIME就是'text/plain',
# 最后一定要用utf-8编码保证多语言兼容性。
msg = MIMEText(mail_msg, 'plain', 'utf-8')
msg['From'] = sender
msg['To'] = receiver
#Header对象编码文本,包含utf-8编码信息和Base64编码。
msg['Subject'] = Header('来自inspurer的个人计算机', 'utf-8')
try:
	server = SMTP(mail_server, port)
	#用set_debuglevel(1),可以打印出和SMTP服务器交互的所有信息
	#server.set_debuglevel(1)
	server.login(sender, sender_pass)
	#由于可以一次发给多个人,所以传入一个list,邮件正文是一个str,as_string()把MIMEText对象变成str
	server.sendmail(sender, (receiver), msg.as_string() )
	server.quit()
	print("邮件发送成功!")
except:
	server.quit()
	print("邮件发送失败!")
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值