• Python 发送邮件


    import json
    from email import encoders
    from email.header import Header
    from email.mime.text import MIMEText
    from email.utils import parseaddr, formataddr
    
    import smtplib
    
    import constants
    from my_functions import get_now_time  # 获取时间的方法
    import osfrom configparser import ConfigParser
    
    from req import Requestclass Email(object):
        def __init__(self):
            self.user = 你的邮箱账户
            self.password = 你的邮箱授权密码
            self.smtp_server = smtp.163.com  # 我用的163邮箱,可根据自己的邮箱进行替换
            self.email_port = 465  # 邮箱端口
            self.email_host_user = 发送邮件的名字
    
            self.msg = '<p align="center" style="font-size:20px;font-weight:bold;">邮箱验证</p>' 
                       '<p align="center"></p>' 
                       '<p align="center">请点击链接验证身份信息:{0}</p><br>' 
                       '<p align="center">如非本人请忽略此邮件</p>' 
                       '<p align="center">系统邮件,请勿回复[{1}]</p>'
            self.msg_content = '请点击链接进行后续操作:{0}
    '
            # '<p align="center" style="font-size:20px;font-weight:bold;">{0}</p><br>' 
            # print('send_email(from_addr,password,to_addr,smtp_server,mimetext,msg_from,msg_to,msg_subject)')
    
        def format_addr(self, s):
            name, addr = parseaddr(s)
            return formataddr((Header(name, 'utf-8').encode(), addr))
    
        def send_email(self, to_addr='收件箱账户', msg_from='发件人称呼', msg_to='收件人称呼', msg_subject=None,
                       code='000000'):
         # 发送邮件 msg
    = MIMEText(self.msg.format(code, get_now_time()), 'html', 'utf-8') msg['From'] = self.format_addr(msg_from + ' ' + '<%s>' % self.user) msg['To'] = self.format_addr(msg_to + ' ' + '<%s>' % to_addr) msg['Subject'] = Header(msg_subject, 'utf-8').encode() server = smtplib.SMTP_SSL(self.smtp_server, self.email_port, timeout=15) server.login(self.user, self.password) server.sendmail(self.user, [to_addr], msg.as_string()) server.quit() def email_message(self, to_addr='收件箱账户', msg_from='发件人称呼', msg_to='收件人称呼', msg_subject=None, msg=''):
    # 发送提醒邮件 self.msg
    = '<p style="font-size:20px;font-weight:bold;">消息通知</p>' '<p>{0}</p>' '<p>系统邮件,请勿回复</p>' msg = MIMEText(self.msg.format(msg), 'html', 'utf-8') msg['From'] = self.format_addr(msg_from + ' ' + '<%s>' % self.user) msg['To'] = self.format_addr(msg_to + ' ' + '<%s>' % to_addr) msg['Subject'] = Header(msg_subject, 'utf-8').encode() server = smtplib.SMTP_SSL(self.smtp_server, self.email_port, timeout=15) server.login(self.user, self.password) server.sendmail(self.user, to_addr, msg.as_string()) server.quit()

    if __name__ == '__main__': eml = Email() eml_result = eml.send_email(参数)
    print(eml_result)
  • 相关阅读:
    git学习笔记
    ExtJs自学教程(1):一切从API開始
    Floodlight 处理交换机增加/移除过程
    飘逸的python
    Mapreduce运行过程分析(基于Hadoop2.4)——(三)
    oracle中LAG()和LEAD()等分析统计函数的使用方法(统计月增长率)
    Linux学习笔记总结
    看完锤子手机公布会直播 有感
    iOS iOS8中 问题&quot;registerForRemoteNotificationTypes: is not supported in iOS 8.0 and later&quot; 解决方式
    读书笔记-HBase in Action-第二部分Advanced concepts-(3)非Javaclient
  • 原文地址:https://www.cnblogs.com/lab-zj/p/14077923.html
Copyright © 2020-2023  润新知