Python SMTP发送邮件

首先你要用两个邮箱, 一个测试发送邮件, 一个用来接收测试.

这里我用的是 网易 邮箱 发送和 QQ 邮箱接收测试.

1.用来发送邮件的邮箱必须确认打开 SMTP 服务.


2. 点击 POP3/SMTP/IMAP


默认是关闭的, 确认打开服务, 会让你设置一个授权码,记住这个后面会用到.

3. SMTP 是发送邮件的协议, Python 对 SMTP 支持有 smtplib 和 email 两个模块, email 负责构造邮件, smtplib 负责发送邮件.

首先, 我们构造一个最简单的纯文本邮件:

from  email.mime.text  import  MIMEText

msg = MIMEText('hello,  send by Python...',  'plain',  'utf-8')

构造 MIMEText 对象时, 第一个参数就是邮件正文, 第二个参数是 MIME 的 subtype(类型), 传入 'plain' 表示纯文本, 最后一定要用 'utf-8' 编码保证多语言兼容性.

from email.mime.text import MIMEText

import smtplib

msg = MIMEText('Hello, send by Python ...?', 'plain', 'utf-8')

msg['from'] = '13639330534@163.com'

msg['to'] = '399704129@qq.com'

from_addr = input('From: ')

# 这里密码填写的是前面设置的授权码, 不是你邮箱密码.

password = input('Password: ')

# 接收邮箱的地址

to_addr = input('To: ')

# smtp 服务器地址

#smtp_server = input('SMTP server: ')

smtp_server = 'smtp.163.com'

server = smtplib.SMTP(smtp_server, 25)

server.set_debuglevel(1)

server.login(from_addr, password)

server.sendmail(from_addr, [to_addr], msg.as_string())

server.quit()

我们用 set_debuglevel(1) 就可以打印出和 SMTP 服务器交互的所有信息. login() 方法用来登录 SMTP 服务器, sendmail() 方法就是发邮件, 由于可以一次发给多个人, 所以传入一个 list, 邮件正文是一个 str, as_string() 把 MIMEText 对象变成 str.

msg['from'] 与 msg['to'] 是必须加的否则会被网页服务器标记成垃圾邮件导致发送失败. 注意: msg['to'] 的邮件地址, 必须与 to_addr(要接收邮件的邮箱)地址保持一致, 否则报错.


__________________________________________

具体的其他操作, 请参考:: 

> https://www.liaoxuefeng.com/wiki/0014316089557264a6b348958f449949df42a6d3a2e542c000/001432005226355aadb8d4b2f3f42f6b1d6f2c5bd8d5263000

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • Python 面向对象Python从设计之初就已经是一门面向对象的语言,正因为如此,在Python中创建一个类和对...
    顺毛阅读 4,271评论 4 16
  • 一、相关模块介绍 发送邮件主要用到了smtplib和email两个模块,这里首先就两个模块进行一下简单的介绍: 1...
    LizPL阅读 1,384评论 0 3
  • 使用python发送邮件的流程: 1、获得smtp服务 2、连接服务器 3、模拟客户端登录 4、实现邮件发送 5、...
    henYee阅读 361评论 1 0
  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 135,286评论 19 139
  • 前言: *第2期要介绍的是菲丽菲拉的果汁染唇液 *果汁染唇液一共有5种色号 *今天主要介绍5号色哦 分享: "与人...
    阿丽时尚小屋阅读 424评论 0 0