Python发送QQ邮箱,python发送QQ邮件

#/usr/bin/python3/
# coding:utf-8
#xiaohe_QQ496631085
import smtplib,base64,time
from email.mime.text import MIMEText
from email.mime.image import MIMEImage
from email.mime.multipart import MIMEMultipart
from email.mime.application import MIMEApplication


    #只发送内容
def send_text(zhuti,content):
    mail_user = base64.b64decode('NDk2NjMxMDg1QHFxLmNvbQ==').decode('utf-8')
    mail_pass = base64.b64decode('cWpuZ3lldGR3aWN3YmhoZw==' ).decode('utf-8')
    mail_to=base64.b64decode('MTY3OTQ2NjBAcXEuY29t').decode('utf-8')
    send_email(mail_user,mail_pass,mail_to,content,file_path=None,zhuti=zhuti)
    #发送:内容和文件
def send_file(zhuti,content,file_path):
    mail_user = base64.b64decode('NDk2NjMxMDg1QHFxLmNvbQ==').decode('utf-8')
    mail_pass = base64.b64decode('cWpuZ3lldGR3aWN3YmhoZw==' ).decode('utf-8')
    mail_to=base64.b64decode('MTY3OTQ2NjBAcXEuY29t').decode('utf-8')
    send_email(mail_user,mail_pass,mail_to,content,file_path,zhuti=zhuti)
#     send_email(mail_user,mail_pass,mail_to,content,file_path,zhuti)


#写成了一个通用的函数接口,想直接用的话,把参数的注释去掉就好
def send_email(mail_user,mail_pass,mail_to,content,file_path=None,zhuti=None):

    
    msg = MIMEMultipart()
    if zhuti:
        subject=zhuti+time.strftime("%Y-%m-%d %H:%M:%S", time.localtime())
    else:
        subject = "机器人"  # 主题
    # content = "你好"
    text = MIMEText(content)
    msg.attach(text)
 
 
    #docFile = 'C:/Users/main.py'  如果需要添加附件,就给定路径
    if file_path: #最开始的函数参数我默认设置了None ,想添加附件,自行更改一下就好
        docFile = file_path
        docApart = MIMEApplication(open(docFile, 'rb').read())
        docApart.add_header('Content-Disposition', 'attachment', filename=docFile)
        msg.attach(docApart)
 

    msg['Subject'] = subject
    msg['From'] = mail_user
    msg['To'] = mail_to
 
 
 
    try:
        # s = smtplib.SMTP_SSL("smtp.qq.com", 25)
        # s.login(mail_user, mail_pass)
        # s.sendmail(mail_user, mail_to, msg.as_string())

        s = smtplib.SMTP()
        s.connect("smtp.qq.com", 25)  # 25 为 SMTP 端口号
        # s.ehlo()
        # s.starttls()
        # s.ehlo()
        s.login(mail_user, mail_pass)
        s.sendmail(mail_user, mail_to, msg.as_string())
        return 'send_ok'
        s.quit()
    except:
        return 'send_error'

print(send_text('我就测试发送一下' ,'这是内容2'))
# send_file('邮件模块','neirong',u'老人与海.flac')

 

posted @ 2019-05-14 15:30  xiaohe520  阅读(405)  评论(0编辑  收藏  举报