zoukankan      html  css  js  c++  java
  • 利用Python发送163邮件

    # 我只在两个绑定的邮箱中发送了,但是不能发送到别人的邮箱,正在解决中
    # 错误信息:554,理解太低,暂时没有解决,自己给自己发邮件玩吧。555
    # 这个函数可以作为一个简单的邮件提醒功能,爬虫某些时刻给自己发个邮件。QAQ~接受者邮件暂时只支持自己163关联的账号,发送和接受写成同一个也可以使用
    
    
    import smtplib  # 构建SMTP对象
    from email.mime.text import MIMEText # 邮箱内容对象
    from email.header import Header


    class Send_email_for_163():
    def __init__(self, smtpUser, smtpPassword, revices):
    """
    采用163发送邮件
    :param smtpUser: 发送邮箱的用户名
    :param smtpPassword: 发送邮箱用户的密码
    :param revices: 接受邮件方的邮箱
    """
    self.smtpServer = 'smtp.163.com'
    self.smtpUser = smtpUser
    self.smtpPassword = smtpPassword
    self.revices = revices

    def send_email(self,user, text, header_name,text_format='plain'):
    """
    :param text: 发送的正文
    :param header_name: 邮件标题
    :param text_format: 正文的格式,plain为普通文本,html为HTML格式默认为普通文本
    :return:
    """
    # 构建邮箱正文
    message = MIMEText(text, text_format, 'utf-8') # 采用email中的MIMEText构造正文
    message['From'] = Header(user, 'utf-8') # 设置发件人
    message['To'] = Header(self.revices, 'utf-8') # 收件人有问题=========?utf-8?q?18636174933=40163=2Ecom?=
    message['Subject'] = Header(header_name, 'utf-8') # 标题
    flag = None
    try:
    smtpObj = smtplib.SMTP()
    smtpObj.connect(self.smtpServer, 25) # 链接服务器
    smtpObj.login(smtpUser, smtpPassword) # 用自己的邮箱登录
    # smtpObj.sendmail(smtpUser, [self.smtpUser], message.as_string()) # 给自己就可以,给别人就554
    smtpObj.sendmail(smtpUser, [self.revices], message.as_string())
    flag = True
    except Exception as e:
    print(e)
    flag = False
    finally:
    smtpObj.quit()
    if flag:
    print('邮件发送成功')
    else:
    print('邮件发送失败')


    if __name__ == '__main__':
    smtpUser = 'xxxxxx@163.com' # 发件人邮箱
    smtpPassword = 'xxxxxxxxxx' # 发件人密码
    revices = 'xxxxxxxx@163.com' # 接受者邮箱
    user = '我自己'
    text = 'xxxxxxxx' # 邮箱正文
    title = 'xxxxxxxx' # 邮箱标题

    smtpObj = Send_email_for_163(smtpUser, smtpPassword, revices)
    smtpObj.send_email(user,text, title)

  • 相关阅读:
    Day05_java方法 方法
    Day05_java流程控制 break、continue
    Day05_java流程控制 循环结构
    Day05_java流程控制 switch选择结构
    Day05_java流程控制结构
    Day04_java流程控制 顺序结构
    Day04_java流程控制 用户交换Scanner
    Day03_java基础 JavaDoc生成文档
    Day03_java基础 包机制
    ltib学习抄录
  • 原文地址:https://www.cnblogs.com/Sksitigarbha/p/10150395.html
Copyright © 2011-2022 走看看