无法发送具有此谓词类型的内容正文_Python3之发送和读取邮件

01

发送邮件

发送邮件使用SMTP协议【Simple Mail Transfer Protocol简单的邮件传输协议】,SMTP协议是SMTP客户端与SMTP服务器之间的通信协议。

python中发送邮件使用的模块有smtplib和email:
1.使用smtplib模块进行发送邮件;
2.使用email模块来添加发送的邮件内容。

1. smtplib模块

导入模块:import smtplib

1.1. 创建SMTP对象

smtplib.SMTPsmtplib.SMTP_SSL:均可以用来创建SMTP对象;smtplib.SMTP_SSL:使用安全加密的SSL协议连接到SMTP服务器;smtplib.SMTP:没有进行安全加密。
故若待测试邮箱不允许使用非SSL和非TLS频道通信时,则无法使用smtp.SMTP方式来创建客户端对象。
【查看邮箱的通信方式:邮箱设置菜单中,查看邮箱的接收服务器和发送服务器信息。】

如:腾讯企业邮箱接收服务器:imap.exmail.qq.com(使用SSL,端口号993)发送服务器:smtp.exmail.qq.com(使用SSL,端口号465)
  • smtplib.SMTP(host,port,local_hostname,timeout,source_address)

  • smtplib.SMTP_SSL(host, port, local_hostname, keyfile, certfile, timeout, source_address, context)
    创建SMTP对象。
    host:SMTP发送服务器主机
    port:SMTP服务器端口号

1.2. SMTP对象操作
  • login(user, password, *, initial_response_ok=True)
    SMTP对象登录
    user:授权登录的用户名
    password:授权登录的密码

  • sendmail(from_addr, to_addrs, msg, mail_options=[], rcpt_options=[])
    SMTP对象发送邮件
    from_addr:发件人地址,字符串类型。
    to_addr:收件人地址,包括收件人和抄送人。
    多个收件人时to_addr参数为列表,单个收件人时to_addr参数可以为列表或字符串。
    msg:要发送的信息

  • quite()
    终止SMTP会话

2. 发送邮件的实例
2.1. 添加邮件内容,包括收件人、抄送人、正文、附件
from email.mime.multipart import MIMEMultipartfrom email.header import Headerfrom email.mime.text import MIMETextfrom email.mime.image import MIMEImageimport osclass EmailContent:       def __init__(self, senderAdr, emailSubject, toReceivers, ccReceivers):        # 邮件对象        self.msg = MIMEMultipart()        # 添加发件人头        self.msg['From'] = Heade
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值