• Python 原生2种 邮件发送(发送验证码) 的方法


     1 import smtplib
     2 from email.mime.text import MIMEText
     3 
     4 # 第三方 SMTP 服务
     5 mail_host = "smtp.sina.cn"      # SMTP服务器  #网易是 smtp.163.com     #腾讯是 smtp.qq.com
     6 mail_user = "perfectcrm@sina.cn"  # 用户名#新浪邮箱账号或者163和QQ 的邮箱账号
     7 mail_pass = "admin123456"           # 授权密码,非登录密码 #新浪是登陆密码 #163和QQ是授权密码
     8 
     9 sender ='perfectcrm@sina.cn'    # 发件人邮箱(最好写全, 不然会失败)  #新浪邮箱账号或者163和QQ 的邮箱账号
    10 receivers = ['124111294@qq.com','perfectcrm@sina.cn']  # 接收邮件,可设置为你的QQ邮箱或者其他邮箱 #可群发
    11 
    12 title = 'Python原生方法群发邮件发送测试'  # 邮件主题
    13 content = '此账号仅供测试,请大神们不要修改邮箱密码。'#内容
    14 
    15 
    16 def sendEmail():
    17     message = MIMEText(content, 'plain', 'utf-8')  # 内容, 格式, 编码
    18     message['From'] = "{}".format(sender)  #  # 发件人邮箱(最好写全, 不然会失败)
    19     message['To'] = ",".join(receivers)     # # 接收邮件,可设置为你的QQ邮箱或者其他邮箱
    20     message['Subject'] = title     # 邮件主题
    21     try:
    22         smtpObj = smtplib.SMTP_SSL(mail_host, 465)  # 启用SSL发信, 端口一般是465
    23         smtpObj.login(mail_user, mail_pass)  # 登录验证
    24         smtpObj.sendmail(sender, receivers, message.as_string())  # 发送
    25         print("邮件发送成功!注意查收!!!垃圾箱!!!反垃圾拦截!!")
    26     except smtplib.SMTPException as e:
    27         print(e)     #错误信息
    28 
    29 
    30 sendEmail()  #调用实例化   进行发送邮件
    31 
    32 # if __name__ == '__main__':
    33 #     sendEmail()  #调用实例化   进行发送邮件
    群发邮件功能

     1 import smtplib
     2 from email.header import Header
     3 from email.mime.text import MIMEText
     4 
     5 # 第三方 SMTP 服务
     6 mail_host = "smtp.sina.cn"      # SMTP服务器
     7 mail_user = "perfectcrm@sina.cn"  # 用户名
     8 mail_pass = "admin123456"               # 授权密码,非登录密码
     9 
    10 sender ='perfectcrm@sina.cn'    # 发件人邮箱(最好写全, 不然会失败)
    11 receiver = '124111294@qq.com'  # 接收邮件,可设置为你的QQ邮箱或者其他邮箱   #只能单发
    12 
    13 title ='Python原生Header方法邮件发送测试'  # 邮件主题
    14 content =  '此账号仅供测试,请大神们不要修改邮箱密码。'#内容
    15 
    16                 # SMTP服务器  # 登陆       #密码       #发送给谁   #主题     #内容
    17 def send_email2(SMTP_host, from_account, from_passwd, to_account, subject, content):
    18     email_client = smtplib.SMTP(SMTP_host)        # SMTP服务器
    19     email_client.login(from_account, from_passwd)      # SMTP服务器 登陆  #密码
    20     # create msg
    21     msg = MIMEText(content, 'plain', 'utf-8')
    22     msg['Subject'] = Header(subject, 'utf-8')  # subject   #邮件头(主题  )#一定要用Header格式化
    23     msg['From'] = from_account #内容 字符串
    24     msg['To'] = to_account #发送给谁 字符串
    25     email_client.sendmail(from_account, to_account, msg.as_string())   #发送模式
    26 
    27     print("邮件发送成功!注意查收!!!垃圾箱!!!反垃圾拦截!!")
    28     email_client.quit()  #退出
    29     
    30             # SMTP服务器  # 用户名  # 密码  # 接收   # 主题   #内容
    31 send_email2(mail_host, mail_user, mail_pass, receiver, title, content) #调用实例化
    32 
    33 
    34 
    35 # if __name__ == '__main__':
    36 #                  # SMTP服务器  # 用户名  # 密码  # 接收   # 主题   #内容
    37 #     send_email2(mail_host, mail_user, mail_pass, receiver, title, content) #调用实例化
    单发邮件功能

    注意被拦截的邮件


     

    如果感觉本章博客对您有帮助,请尽情打赏吧!

  • 相关阅读:
    [置顶] 新修改ADB,支持Android 4.2 系统 ,全部中文命令,手机屏幕截图等等
    归并排序
    Sciter/HTMLayout内存占用评测
    ASP.NET面试题总结
    uva 1356 Bridge ( 辛普森积分 )
    在没备份undo的情况下,undo丢失,重启数据库报ORA-01157错误
    以天徒龙记
    struts-config.xml 文件:
    struts.xml文件:
    web.xml文件:
  • 原文地址:https://www.cnblogs.com/ujq3/p/8820673.html
Copyright © 2020-2023  润新知