• Python 电子邮件


    要编写程序来发送和接收邮件,本质上就是:

    1. 编写MUA把邮件发到MTA;

    2. 编写MUA从MDA上收邮件。

    发邮件时,MUA和MTA使用的协议就是SMTP:Simple Mail Transfer Protocol,后面的MTA到另一个MTA也是用SMTP协议。

    收邮件时,MUA和MDA使用的协议有两种:POP:Post Office Protocol,目前版本是3,俗称POP3;IMAP:Internet Message Access Protocol,目前版本是4,优点是不但能取邮件,还可以直接操作MDA上存储的邮件,比如从收件箱移到垃圾箱,等等。

    在使用Python收发邮件前,请先准备好至少两个电子邮件,如xxx@163.comxxx@sina.comxxx@qq.com等,注意两个邮箱不要用同一家邮件服务商

    # -*- coding: utf-8 -*-
    import smtplib
    from email.mime.text import MIMEText
    '''
    一些常用邮箱发件服务器及端口号
    邮箱   发件服务器    非SSL协议端口    SSL协议端口
    
    163   smtp.163.com      25          465/587
    
    qq    smtp.qq.com      25          465/587
    '''
    import time
    '''
        # 设置发件服务器地址
      # 设置发件服务器端口号。注意,这里有SSL和非SSL两种形式
      # 设置发件邮箱,一定要自己注册的邮箱
      # 设置发件邮箱的密码,等会登陆会用到
      # 设置邮件接收人,可以是扣扣邮箱
    '''
    class sendEmail:
    
        # 设置邮件正文,这里是支持HTML的
        def __init__(self,sender,receiver,pwd,info):
            self.host = 'smtp.163.com'
            self.port = 25
            self.sender = sender
            self.pwd = pwd.strip()
            self.receiver = receiver
            self.info=info
            self.time_info = time.strftime('%Y-%m-%d %H:%M:%S', time.localtime(time.time()))
            self.body = '<h1>头条房产</h1><p>在' + self.time_info + '页面报错</p>'
    
        def start(self):
            msg = MIMEText(self.body, 'html')  # 设置正文为符合邮件格式的HTML内容
            msg['subject'] = self.info  # 设置邮件标题
            msg['from'] = self.sender  # 设置发送人
            msg['to'] = self.receiver  # 设置接收人
            try:
                s = smtplib.SMTP(self.host, self.port)  # 注意!如果是使用SSL端口,这里就要改为SMTP_SSL
                s.login(self.sender, self.pwd)  # 登陆邮箱
                s.sendmail(self.sender, self.receiver, msg.as_string())  # 发送邮件!
                print 'Done'
            except smtplib.SMTPException, e:
                print(e)
    

      

    import sendEmail
    
    sendEmail.sendEmail('xxxxx@163.com', 'xxxxx@qq.com', 'xxxxx','发送信息').start()
    

      

  • 相关阅读:
    图片懒加载
    python打包后,运行exe程序,报错check_hostname requires server_hostname
    eggjs上传文件,并md5名称保存
    egg-static, 静态资源配置
    js时间转换
    egg中post请求报错invalid csrf token
    egg中sequelize,时区问题,开发时修改表结构
    ImageGrab.grab截图右下角是黑屏
    css 画三角形,悬浮提示
    python 相关
  • 原文地址:https://www.cnblogs.com/likeyou1/p/8431099.html
Copyright © 2020-2023  润新知