python脚本--smtp实现自动发送邮件

发送普通信件

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

# 发送普通信件
def send_email():
    # 发送邮箱服务器(这里以新浪为例)
    smtpserver = 'smtp.sina.cn'

    # 发送邮箱用户名密码
    # 密码是开启远程服务生成的16为密码
    user = ''
    password = ''

    # 发送邮箱
    sender = ''

    # 接受邮箱
    receiver = ''

    # 发送邮箱主题
    subject = 'Python email test'

    # 编写HTML类型邮件正文
    msg = MIMEText('正文内容hehe')
    msg['Subject'] = 'subject test q'
    msg['From'] = sender
    msg['To'] = receiver

    # 链接发送邮件
    smtp = smtplib.SMTP()
    smtp.connect(smtpserver)
    smtp.login(user, password)
    smtp.sendmail(sender, receiver, msg.as_string())

    smtp.quit()
    '''
        SMPT和IMPA要同时开启
        输入的密码必须是生成的16为密码
    '''

发送带附件的信件

def send_email_attach():
    # 发送邮箱服务器
    smtpserver = 'smtp.sina.cn'

    # 发送邮箱用户名密码
    # 密码是开启远程服务生成的16为密码
    user = ''
    password = ''

    # 发送邮箱
    sender = ''

    # 接受邮箱
    receiver = ''

    # 编写HTML类型邮件正文(有福建)
    msg = MIMEMultipart()
    att = MIMEText(open('./result.html', 'rb').read().decode('utf-8'), 'base64', 'gb2312')
    att['Content-Type'] = 'application/octet-stream'
    att['Content-Disposition'] = 'attachment; filename="result.html"'
    msg.attach(att)

    msg['Subject'] = Header('普通测试结果(' + str(datetime.date.today()) + ')', 'gb2312')
    msg['From'] = sender
    msg['To'] = receiver

    body = 'python test email'
    msg.attach(MIMEText(body, 'plain'))

    # 链接发送邮件
    smtp = smtplib.SMTP()
    smtp.connect(smtpserver)
    smtp.login(user, password)
    smtp.sendmail(sender, receiver, msg.as_string())

    smtp.quit()
    '''
        SMPT和IMPA要同时开启
        输入的密码必须是生成的16为密码
    '''

猜你喜欢

转载自blog.csdn.net/hide_in_darkness/article/details/108414701