这里不清楚

来源:6-2 邮件发送

松松哥哥

2023-09-23 14:35:17

# coding:utf-8

import time
import smtplib
import schedule  # pip install schedule

from email.mime.text import MIMEText
from email.header import Header
from email.mime.multipart import MIMEMultipart


#第三方的smtp
mail_host = 'smtp.sina.com'
mail_user = 'conan868242'
mail_pass = 'cb997b01a87232b2'
# smtp 开通, 授权码

sender = 'conan868242@sina.com'
receivers = ['dewei.zhang@tusimple.com']

message = MIMEMultipart()

#message = MIMEText('<p style="color:red;">这是一个测试</p>', 'html', 'utf-8')

message['From'] = Header(sender)
message['Subject'] = Header('python脚本测试', 'utf-8')

attr = MIMEText(open('send.py', 'rb').read(), 'base64', 'utf-8')
attr['Content-Type'] = 'application/octet-stream'
attr['Content-Disposition'] = 'attachment;filename="send.py"'

message.attach(attr)
message.attach(MIMEText('这是一个带附件的邮件', 'plain', 'utf-8'))

def send():
    print('send start')
    try:
        smtpobj = smtplib.SMTP()
        smtpobj.connect(mail_host, 25)
        smtpobj.login(mail_user, mail_pass)
        smtpobj.sendmail(sender, receivers, message.as_string())
    except smtplib.SMTPException as e:
        print('error: %s' % e)


if __name__ == '__main__':
    schedule.every(10).seconds.do(send)
    

    while 1:
        schedule.run_pending()
        time.sleep(1)
message['From'] = Header(sender)
message['Subject'] = Header('python脚本测试', 'utf-8')

这里为什么写message['from']=Header(sender)还有夏敏的subject这里为什么这样写。看不懂


写回答

1回答

好帮手慕小猿

2023-09-25

同学,你好!1、message['From'] = Header(sender) 是用来设置邮件的发送者信息。Header() 函数用来创建邮件头部的对象,其中第一个参数 sender 是发送者的名称或地址。这里,我们将 sender 作为参数传递给 Header() 函数,然后将返回的对象赋值给 message['From']作为邮件的发送者

2、message['Subject'] = Header('python脚本测试', 'utf-8') 是用来设置邮件的主题。同样地,我们使用 Header() 函数来创建邮件头部的对象,其中第一个参数是主题内容 'python脚本测试',第二个参数 'utf-8' 指定了编码方式为 UTF-8。然后,我们将返回的对象赋值给 message['Subject']作为邮件的主题。其中message的From和Subject键是固定的。

祝学习愉快~

2

Python全能工程师 2024 版

8阶段5大热门领域,从入门到实战,带你从零基础晋级全能,全面提升就业力

1566 学习 · 855 问题

查看课程

相似问题

回答 1

回答 1

回答 1

回答 1