关于smtp:SMTP-和-POP3-协议的区别和联系

SMTP(Simple Mail Transfer Protocol)和POP3(Post Office Protocol 3)是两种罕用的电子邮件协定,用于发送和接管电子邮件。尽管它们都波及到电子邮件的传输,但在性能和应用形式上有一些区别。上面将具体介绍SMTP和POP3协定的区别和分割。 1. 性能SMTP:SMTP是一种用于发送电子邮件的协定。它定义了电子邮件的传输方式,负责将邮件从发件人的电子邮件服务器发送到接管人的电子邮件服务器。SMTP负责解决邮件的路由和传输,确保邮件可能精确地传递到指标服务器。POP3:POP3是一种用于接管电子邮件的协定。它容许用户从邮件服务器上下载和接管邮件。POP3协定使用户可能通过客户端应用程序(如Outlook、Thunderbird等)拜访和治理邮件服务器上的收件箱。2. 连贯形式SMTP:SMTP协定应用客户端-服务器模型,发件人的客户端应用程序通过与发件人的SMTP服务器建设连贯来发送电子邮件。发件人的SMTP服务器再将邮件传递给接管人的SMTP服务器,最终送达到接管人的收件箱。POP3:POP3协定同样应用客户端-服务器模型,然而用户的客户端应用程序通过与接管人的POP3服务器建设连贯来接管邮件。客户端应用程序通过POP3协定从服务器上下载邮件,一旦下载实现,服务器上的邮件通常会被删除。3. 邮件存储SMTP:SMTP协定不波及邮件的存储。它只负责邮件的传输,将邮件从发件人的SMTP服务器传递到接管人的SMTP服务器。一旦传递实现,SMTP服务器通常会将邮件交给接管人的邮件服务器进一步解决和存储。POP3:POP3协定波及到邮件的存储。邮件服务器上的邮件通常存储在接管人的收件箱中。当用户的客户端应用程序应用POP3协定连贯到服务器时,邮件会从服务器上下载到本地计算机,并从服务器上删除。4. 邮件的治理SMTP:SMTP协定次要用于发送邮件,而不波及邮件的治理。发送人只须要提供邮件的收件人地址和邮件内容,SMTP服务器负责将邮件传递到指标服务器。POP3:POP3协定容许用户通过客户端应用程序对邮件进行治理。用户能够下载邮件、标记已读或未读、删除邮件等操作。这使得用户可能更好地治理本人的收件箱。5.通信安全性SMTP:SMTP协定在最后的设计中并未思考通信的安全性。因而,邮件在传输过程中可能会被窃听或篡改。然而,古代的SMTP服务器和客户端应用程序通常反对加密传输,如SMTP over TLS(SMTPS)或STARTTLS,以提供通信的安全性。POP3:POP3协定同样在最后的设计中未思考通信的安全性。然而,古代的POP3服务器和客户端应用程序通常反对加密传输,如POP3 over TLS(POP3S)或STARTTLS,以保障邮件在传输过程中的安全性。

June 19, 2023 · 1 min · jiezi

关于smtp:常见邮箱开启-SMTP-服务及-Python-发送-email-详细说明

原文由wangle发表于TesterHome社区,点击原文链接可与作者间接交换。一.开启邮箱SMTP服务发送邮件须要应用SMTP服务器,罕用的收费服务器有:163、126、qq等邮箱。 QQ邮箱配置形式如下:1) 登录qq邮箱,抉择【设置】-【账户】 2) 在POP3/IMAP/SMAP/Exchage/CardDAV/CalDAV服务中,找到POP3/SMTP服务和IMAP/SMTP服务,点击开启。 163邮箱配置形式如下:1)注册163邮箱,登录后设置。 2) 在新页面点击“客户端受权明码”,勾选“开启”,弹出新窗口填写手机验证码。 3) 填写受权码 4) 提醒开启胜利。 二、应用python发送邮件应用python自带的模块:smptlib、email import smtplibfrom email.mime.text import MIMETextfrom email.header import Header1、发送一般的邮件# 发送邮件的步骤import smtplibfrom email.mime.text import MIMEText # 用来结构文本类型的邮件from email.header import Header # 用来结构邮件的头部# 第一步:创立一个SMTP的对象s = smtplib.SMTP()# 第二步:连贯到SMTP的服务器host = 'smtp.163.com' # 设置163邮箱服务器,端口为:25port = 25# host = 'smtp.qq.com' port = 465 # 设置qq邮箱服务器,端口为:465s.connect(host,port) # 连贯服务器# s.connect(host = 'smtp.163.com',port = 25)# 第三步:登录SMTP服务器mail_user = '18814726725@163.com' # 163邮箱的用户名mail_pass = 'password' # 留神:此处填写的是邮箱的SMTP服务器受权码s.login(user=mail_user,password=mail_pass)# 第四步:构建邮件内容content = '应用python测试发送邮件' # 构建邮件内容msg = MIMEText(content,_charset='utf8') # _charset 指定编码格局msg['Subject'] = Header('测试报告','utf8') # 邮件主题msg['From'] = 'wl18814726725@163.com' # 发件人邮箱,可传入列表,用于给多集体发送文件msg['To'] = '1572533878@qq.com' # 收件人# 第五步:发送邮件s.sendmail(from_addr=msg['From'],to_addrs=msg['To'],msg=msg.as_string()) #将邮件内容转换为字符串2、发送HTML格局邮件及附件import smtplibfrom email.mime.text import MIMEText # 文本类型的邮件,用来结构邮件from email.header import Header # 用来结构邮件的头部from email.mime.application import MIMEApplication from email.mime.multipart import MIMEMultipart # 用来结构附件# 发送邮件的步骤# 第一步:创立一个SMTP的对象s = smtplib.SMTP()# 第二步:连贯到SMTP的服务器host = 'smtp.163.com' # 设置163邮箱服务器,端口为:25port = 25# host = 'smtp.qq.com' # 设置qq邮箱服务器,端口为:465s.connect(host,port) # 连贯服务器# 第三步:登录SMTP服务器mail_user = 'wl18814726725@163.com' # 163邮箱的用户名mail_pass = 'wl987654321' # 留神:此处填写的是邮箱的SMTP服务器受权码s.login(user=mail_user,password=mail_pass)# 结构文本邮件内容content = '应用python测试发送邮件' # 构建邮件内容textcontent = MIMEText(content,_charset='utf8') # _charset 指定编码格局# 结构附件(二进制字节流模式)part = MIMEApplication(open("report.html",'rb').read(),_subtype=None) # part = MIMEApplication(open("report.html",'rb').read()) 须要查看_subtype=None 是否会引发异样part.add_header('content-disposition', 'attachment', filename='report18.html') # 对方收到邮件之后,附件在邮件中显示的名称# 封装一封邮件msg = MIMEMultipart()# 退出文本内容msg.attach(textcontent)msg.attach(part)# 发送邮件msg['From'] = 'wl18814726725@163.com' #发件人邮箱msg['To'] = '1572533878@qq.com' #收件人#第五步:发送邮件s.sendmail(from_addr='wl18814726725@163.com',to_addrs='1572533878@qq.com',msg=msg.as_string()) # 将邮件内容转换为字符串3、定义send_email函数import smtplibfrom email.mime.text import MIMEText #文本类型的邮件,用来结构邮件from email.header import Header #用来结构邮件的头部from email.mime.application import MIMEApplicationfrom email.mime.multipart import MIMEMultipart #用来结构附件def send_email(filepath): """ :param filepath: #传入报告文件的门路 :return: """ # 发送邮件的步骤 # 第一步:创立一个SMTP的对象 s = smtplib.SMTP() # 第二步:连贯到SMTP的服务器 host = 'smtp.163.com' #设置163邮箱服务器,端口为:25 port = 25 # host = 'smtp.qq.com' #设置qq邮箱服务器,端口为:465 s.connect(host,port) #连贯服务器 # 第三步:登录SMTP服务器 mail_user = 'wl18814726725@163.com' #163邮箱的用户名 mail_pass = 'wl987654321' #留神:此处填写的是邮箱的SMTP服务器受权码 s.login(user=mail_user,password=mail_pass) #结构文本邮件内容 content = '应用python测试发送邮件' #构建邮件内容 textcontent = MIMEText(content,_charset='utf8') #_charset 指定编码格局 #结构附件(二进制字节流模式) part = MIMEApplication(open(filepath,'rb').read()) part.add_header('content-disposition', 'attachment', filename='report988.html') #对方收到邮件之后,附件在邮件中显示的名称 # 封装一封邮件 msg = MIMEMultipart() #退出附件和文本内容 msg.attach(textcontent) msg.attach(part) #发送邮件 msg['From'] = 'wl18814726725@163.com' #发件人邮箱 msg['To'] = '1572533878@qq.com' #收件人 #第五步:发送邮件 s.sendmail(from_addr=msg['From'],to_addrs=msg['To'],msg=msg.as_string()) #将邮件内容转换为字符串send_email('report.html')4、应用python发送邮件时常见谬误:谬误1:smtplib.SMTPAuthenticationError: (550, b'User has no permission') 。 ...

March 29, 2022 · 2 min · jiezi