python发送邮件

一.前言

在某些是否我们脚本能发送消息,比如监控电脑性能,满足条件后发送短信或者邮箱通知我们,但是短信门槛高且有费用,所以邮箱更方便

python发送邮件主要使用smtplib和email这两个内置库,他们分别用于登录邮箱账号和构建邮件内容(因为邮件内容包含了主题、发件人、收件人、正文等,所以需要email来构建邮箱内容)

本文代码整理后,写成了类方便使用

二.账号准备

python发送邮件_第1张图片

三.常见邮箱端口

  • POP3:pop.ym.163.com 默认端口为:110 (如勾选ssl安全链接,端口号为995)

  • SMTP:smtp.ym.163.com 默认端口为:25 (如勾选ssl安全链接,端口号为994或465)

  • IMAP:imap.ym.163.com 默认端口为:143 (如勾选ssl安全链接,端口号为993)

三.代码

import smtplib
from email.mime.text import MIMEText
from email.header import Header

###########################################
email_server_address="smtp.163.com" #服务器地址
email_server_port=25 #服务器端口号
email_user="[email protected]"#邮箱账号
email_password="AAAAAAAAAAAAAA"#邮箱密码,16位授权密码
to_email_user="[email protected]"#发送邮箱地址

###########################################
# 创建 SMTP 对象
smtp = smtplib.SMTP()
# 连接(connect)指定服务器
smtp.connect(email_server_address, port=email_server_port)
# 登录,需要:登录邮箱和授权码
smtp.login(user=email_user, password=email_password)


# 构造MIMEText对象,参数为:正文,MIME的subtype,编码方式
message = MIMEText('atukoon 邮件发送测试...', 'plain', 'utf-8')
message['From'] = Header("fairly", 'utf-8')  # 发件人的昵称
message['To'] = Header("jack", 'utf-8')  # 收件人的昵称
message['Subject'] = Header('Python SMTP 邮件测试', 'utf-8')  # 定义主题内容


smtp.sendmail(from_addr=email_user, to_addrs=to_email_user, msg=message.as_string())

你可能感兴趣的:(Python,python,开发语言)