Python实现邮件发送,钉钉机器人

这篇博客介绍了如何使用Python进行邮件发送和对接钉钉机器人的方法。首先讲解了SMTP协议的基础和如何创建SMTP对象,然后阐述了邮件设置、SMTP认证及发送邮件的步骤。接着,介绍了JSON的数据结构和Python中dumps与loads方法的应用。进一步,文章探讨了requests库的基本用法,包括GET和POST请求、请求参数和响应内容。最后,博主分享了如何创建和配置钉钉群聊机器人,以实现自动化消息推送。
摘要由CSDN通过智能技术生成

邮件编程

SMTP概述
  • SMTP(Simple Mail Transfer Protocol)即简单邮件传输协议,使用TCP协议25端口
  • 它是一组用于由源地址到目的地址传送邮件的规则,由它来控制信件的中转方式
  • python的smtplib提供了一种很方便的途径发送电子邮件。它对smtp协议进行了简单的封装
SMTP对象
Python发送邮件,第一步是创建SMTP对象
import smtplib
smtp_obj = smtplib.SMTP([host],[port],[local_hostname])
  • 创建SMTP对象也可以不给定参数,之后再通过对象的其他方法进行绑定
设置邮件

标准邮件需要三个头部信息

  • From:发件人
  • To:收件人
  • Subject:主题
from email.mime.text import MIMEText
from email.header import Header
message = MIMEText('Python 邮件发送测试...', 'plain', 'utf-8')
message['From'] = Header("zzg", 'utf-8')	#发送者
message['To'] = Header("root", 'utf-8') #接收者
subject = 'Python SMTP 邮件测试'
message['Subject'] = Header(subject, 'utf-8')
import smtplib
from email.mime.text import MIMEText
from email.header import Header

#邮件正文
message = MIMEText('python email test','plain','utf8')
#邮件头部信息:发件人,收件人,主题
message['From'] = Header('root','utf8')
message['To'] = Header('bob','utf8')
message['Subject'] = Header('py test','utf8')

#发邮件:邮件服务器,发件人,收件人
smtp = smtplib.SMTP('localhost') #使用本机作为服务器
sender = 'root'
receivers = ['root','bob']
smtp.sendmail('root',receivers,message.as_bytes())

SMTP认证

如果本机没有SMTP功能,也可以使用第三方的邮件服务器

  • 第三方邮件服务器往往需要认证
mail_host="mail.sina.cn"	
mail_user="zzg"
mail_pass="zzg_pass"
smtp_obj = smtplib.SMTP()
smtp_obj.connect(mail_host, 25) # 25 为 SMTP端口号
smtp.starttls() #如果使用证书,打开此注释
smtp_obj.login(mail_user,mail_pass)
smtp_obj.sendmail(sender,receivers,	message.as_string())

发邮件

  • 邮件服务器
    • 需要认证的服务器需要填用户名和密码
    • 服务器的地址在邮箱的“设置”中查询
    • 需要在邮件服务器的“设置”中允许客户端使用smtp
    • 客户端发邮件时,填写的是授权码
  • 发件人
  • 收件人
import getpass
from email.header import Header
from email.mime.text import MIMEText
import smtplib

  • 1
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值