• python收发邮件的方法


    def acptmail():
      email = 'xxx@163.com' #input('Email:')
      password = 'xxx' #input('Password: ')
      pop3_server = 'pop3.163.com'

    #下载原始邮件
    server = poplib.POP3(pop3_server)
    server.set_debuglevel(0)
    #print(server.getwelcome().decode('utf-8'))
    server.user(email)
    server.pass_(password)
    #打印邮件数量和占用空间
    #print('Message: %s, Size: %s' % server.stat())
    resp, mails, octets = server.list()
    #print(mails)

    #解析邮件
    index = len(mails)

    #server.tetr(int),返回最顶部的,即邮箱中最新接收到的邮件
    resp, lines, octets = server.retr(index)
    msg_content = b' '.join(lines).decode('utf-8')
    msg = Parser().parsestr(msg_content)
    #print_info(msg)

    content = msg.get_payload(decode = True)
    msgfrom = msg.get('From', '') 
    msgsub = msg.get('Subject', '')#即邮件中的“主题”一栏

      发送邮件时,邮件服务器会检测是否为垃圾邮件,或恶意邮件等,没有通过其过滤的话就会报DataError,

    此时需要规范发送内容和格式,以上程序的格式可以发送,如果还是不能发送,就需要改动一下邮件内容,使其

    看起来“正经”一点 

     

    def send_mail(mailaddr):

    #msg=email.mime.multipart.MIMEMultipart()
    #以这种格式发送简单文本,先发送内容再给msg的各项属性赋值
    content="hello!" #以上是邮件的内容
    msg=email.mime.text.MIMEText(content)
    msg['from']='xxx@163.com' #发送端地址
    msg['to']=mailaddr #接受端地址
    msg['subject']=Header('hey boy!','utf-8') #邮件的标题

    #msg.attach(txt)

    #smtp=smtplib
    smtp=smtplib.SMTP() #创建一个SMTP对象
    smtp.connect('smtp.163.com') #使用connect方法链接到新浪邮件服务器的25号端口
    smtp.login('xxx@163.com','xxx') #登入发送端需要账号验证
    smtp.sendmail('xxx@163.com',mailaddr,str(msg)) #邮件发送,括号内的顺序是(发送端,接收端,文件内容)
    smtp.close()

    收发邮件的最大问题,就是编码转换的问题,以上程序只能收取简单的字符串,若是正常邮件,很可能会有乱码问题,关于这个问题,有大神已经写好编码判断和转换的方法,贴在下面:http://blog.csdn.net/kornberg_fresnel/article/details/51227761

    另外,找到一篇发送各种邮件的方法:http://www.cnblogs.com/UnGeek/p/5830525.html

  • 相关阅读:
    U盘分区 将一个u盘分为3个区
    InnoDB索引最通俗的解释
    Centos7 安全加固
    final/static
    Java继承,方法重写
    UnrealEngine4血溅效果
    UnrealEngine4第一人称射击游戏之触碰掉血与掉盔甲功能实现
    UnrealEngine4第一人称射击游戏UI
    String字符串
    构造方法
  • 原文地址:https://www.cnblogs.com/shuchengxiang/p/6520296.html
Copyright © 2020-2023  润新知