计算机网络套接字编程作业三: 邮件客户

题目要求:

  • Your task is to develop a simple mail client that sends email to any recipient. Your client will need to connect to a mail server, dialogue with the mail server using the SMTP protocol, and send an email message to the mail server. Python provides a module, called smtplib, which has built in methods to send mail using SMTP protocol. However, we will not be using this module in this lab, because it hide the details of SMTP and socket programming.
  • 创建一个向任何接收方发送电子邮件的简单邮件客户。客户端必须与邮件服务器创建一个TCP连接,使用SMTP协议与邮件服务器进行交谈,经该邮件服务器向某接收方发送一个电子邮件报文,最后关闭邮件服务器的TCP连接。

前提准备:

host port
smtp.qq.com 25
smtp.163.com 25
  • 开启发送方邮件的SMTP服务。一般在邮箱的设置选项里,开启服务时有一个授权码。这个授权码会代替真正的邮箱密码进行登陆。(即填在我代码的password那里)

使用socket发邮件作业代码:

from socket import *
import base64

HOST = 'smtp.163.com'
PORT = 25
BUFSIZE = 1024
ADDR = (HOST, PORT)
user = base64.b64encode(b'******@163.com').decode() + '\r\n'
password = base64.b64encode(b'......').decode() + '\r\n'

tcpCliSock = socket(AF_INET, SOCK_STREAM)
tcpCliSock.connect(ADDR)
recv = tcpCliSock.recv(BUFSIZE)
print(recv)
if recv[:3] != b'220':<
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值