参考廖雪峰的Python教程,实现Python3 网易126邮箱收发邮件

发邮件

#!/usr/bin/python3
# coding: utf-8import smtplib
from email import encoders
from email.header import Header
from email.mime.text import MIMEText
from email.utils import parseaddr
from email.utils import formataddr def format_addr(s):name, addr = parseaddr(s)return formataddr((Header(name, "utf-8").encode(), addr))from_email = "xxx@126.com"
from_email_pwd = "xxx"
to_email = "xxx@sina.com"
smtp_server = "smtp.126.com"msg = MIMEText("<html><body><h3>hello</h3><p>hello, send by python</p></body></html>", "html", "utf-8")
msg["From"] = format_addr("%s" %(from_email))
msg["To"] = format_addr("%s" %(to_email))
msg["Subject"] = Header("python email", "utf-8").encode()server = smtplib.SMTP(smtp_server, 25)
server.set_debuglevel(1)
server.login(from_email, from_email_pwd)
server.sendmail(from_email, [to_email], msg.as_string())
server.quit()

收邮件

#!/usr/bin/python3
# coding: utf-8import poplib
from email.header import decode_header
from email.parser import Parser
from email.utils import parseaddr def print_msg(msg, indent=0):if indent == 0:for header in ["From", "To", "Subject", "Date"]:value = msg[header]if value:value = decode_str(value)print("%s%s: %s" %(" " * indent, header, value))if msg.is_multipart():parts = msg.get_payload()for n, part in enumerate(parts):print("%spart %s" %(" " * indent, n))print_msg(part, indent + 1)else:content_type = msg.get_content_type()if content_type == "text/plain" or content_type == "text/html":content = msg.get_payload(decode=True)charset = get_charset(msg)if charset:content = content.decode(charset)print("%sText: %s" %(" " * indent, content))else:print("%sAttachment: %s" %(" " * indent, content_type))def decode_str(s):l = decode_header(s)value, charset = l[0]if charset:value = value.decode(charset)if len(l) == 2:value_tmp = l[1][0]value = value + value_tmp.decode(charset)return value def get_charset(msg):charset = msg.get_charset()if charset is None:content_type = msg.get("Content-type", "").lower()pos = content_type.find("charset=")if pos >= 0:charset = content_type[pos + 8:].strip()return charset from_email = "xxx@126.com"
from_email_pwd = "xxx"
pop_server = "pop.126.com"server = poplib.POP3(pop_server)
server.set_debuglevel(1)
print(server.getwelcome().decode("utf-8"))server.user(from_email)
server.pass_(from_email_pwd)print("Messages: %s Size: %s" %(server.stat()))resp, mails, octets = server.list()
index = len(mails)
resp, lines, octets = server.retr(index)
msg_content = b"\r\n".join(lines).decode("utf-8")
msg = Parser().parsestr(msg_content)
print_msg(msg)
server.quit()

Python3 网易126邮箱收发邮件相关推荐

  1. 网易闪电邮收信显示连接服务器,网易闪电邮IMAP协议同步网页邮箱收发邮件的使用技巧...

    网易闪电邮是许多网友都在使用的一款邮箱,它为用户提供了非常多有用的功能,比如:使用网易闪电邮IMAP协议,就可以让网易闪电邮同步接收与发送网页邮箱的邮件,下面,就一起来了解一下网易闪电邮IMAP协议同 ...

  2. php怎么查看qq邮箱,thinkphp实现163、QQ邮箱收发邮件的方法

    用了很长时间去一步一步摸索,终于先在163 网易邮箱上测试成功了,下面就把这个过程分享给大家. 在进入正题这前先看下网易(163)邮箱的服务器地址和端口号: 一.前期准备 使用网易邮箱,当然要注册个账 ...

  3. [php] thinkphp实现 163 qq 邮箱收发邮件(切实可用)

    在写这篇文章之前在网上查找过很多使用php或thinkphp发送邮件的,也看到别人的都测试成功了,但是我的老是报错,很纠结...找了很多资料看,也用了很长时间去一步一步摸索,终于先在163 网易邮箱上 ...

  4. 苹果手机自带的邮箱添加服务器,iphone6s自带邮箱收发邮件设置图文步骤【图文详解】...

    iphone6s有个自带邮箱,不过很多人都不会设置,都是直接下的第三方邮箱应用来使用.今天,小编就来跟大家分享iPhone6s自带邮箱收发邮件设置图文步骤,一起来看看吧. 电脑端和手机端都需要设置 1 ...

  5. 苹果自带邮箱发件服务器设置,iphone自带邮箱在哪里设置 iphone6s自带邮箱收发邮件设置图文教程...

    虽然当前的社交类通讯聊天软件非常发达,很多时候还是会使用邮件来沟通一些事情,最为常见场景便是在工作中.有了苹果 iPhone6s 手机以后,可以添加设置邮箱,直接在手机上收发邮件,非常的方便. iph ...

  6. iphone发送邮件html,iphone6s自带邮箱收发邮件设置图文教程

    有了苹果 iPhone6s 手机以后,可以添加设置邮箱,直接在手机上收发邮件,非常的方便.但是有朋友不清楚iphone自带邮箱在哪里设置?接下来是小编为大家收集的iphone6s自带邮箱收发邮件设置图 ...

  7. 苹果6s如何设置QQ邮箱收发服务器,iphone6s自带邮箱设置 iphone6s自带邮箱收发邮件设置教程...

    iphone6s手机里有一个自己的自带邮箱,那么iphone6s自带邮箱怎么设置?今天,小编就简单谈谈和大家如何使用iphone6s自带邮件接收发送邮件吧,一起看看下文的iphone6s自带邮箱收发邮 ...

  8. nodejs 邮件服务(网易126邮箱为例)

    最近需要实现有个邮箱验证和重置密码的服务,涉及到邮件发送的问题,团队其他成员实现了,自己学习下实现并记录下过程. 采用模块:nodemailer 模块官网:https://nodemailer.com ...

  9. 网易126邮箱服务器设置,网易闪电邮企业邮箱设置教程(POP3)

    原标题:网易闪电邮企业邮箱设置教程(POP3) 使用网易闪电邮收发企业邮箱邮件,下面是设置教程 1.启动闪电邮后,点击"邮箱---新建邮箱账户"菜单,如下图: 2.输入" ...

最新文章

  1. keras构建前馈神经网络(feedforward neural network)进行回归模型构建和学习
  2. php 云片网对接,php调用云片网接口发送短信的实现方法
  3. java jpcap 抓包并分析_java利用Jpcap实现抓包
  4. 牛客华为机试第4题python
  5. 前端将数据转化为弹幕效果的实现方式
  6. OpenCv3 VideoCapture读取视频失败解决方法
  7. mysql1577_使用Navicat for MySQL的1577错误解决办法
  8. VS2010项目的部署与安装
  9. android java内存 c内存_Android NDK java和C\C++交互 | 学步园
  10. 赢得黑客马拉松的 9 种方式
  11. 软文推广标题的写法,怎么才能让软文标题更有吸引力
  12. 以正方体一个顶点进行旋转的3D立方体动画
  13. css图片背景之雪碧图的使用
  14. resultful 风格
  15. php验证码实现的代码怎么写,php验证码实现代码
  16. android模拟打印机服务,Android下的POS打印机调用的简单实现
  17. UE5黑客帝国3d print假室内的一些使用记录
  18. 深入了解OpenGL——颜色混合
  19. 计算机教师个人业绩成果自述,个人评价自述
  20. 钱颖一:从清华学生身上,我发现了这7个普遍现象……

热门文章

  1. 解决mysql ERROR 2002 (HY000): Can't connect to local MySQL server through socket错误的方法
  2. 解决论文目录页码对不齐问题
  3. aws亚马逊云购买服务器的操作记录
  4. STM32F103C8T6在Arduino IDE里编程
  5. 按摩界的“爱马仕”,拯救你的发际线,失眠、职业病通通消失,爽爆了!
  6. **遇到“Cannot create file “不要慌**
  7. Docker Dockerfile 验证Docker内部使用jmap报错问题解决
  8. 利用Python将图片批量改成任意格式
  9. libpqxx 库安装configure: error:Linking a call to libpq failed in C++, even though it succeeded in C.
  10. 群晖QuickConnect与DDNS之间有何区别?