python 如何发送钉钉邮件
时间: 2023-10-18 15:28:27 浏览: 48
要发送钉钉邮件,需要使用 Python 的钉钉机器人 API 和邮件发送库。以下是一个使用 `dingtalkchatbot` 库和 `smtplib` 库发送钉钉邮件的示例代码:
```python
from dingtalkchatbot.chatbot import DingtalkChatbot
import smtplib
from email.mime.text import MIMEText
from email.header import Header
# 钉钉机器人 Webhook 地址
dingtalk_webhook = 'https://oapi.dingtalk.com/robot/send?access_token=xxxxxxxx'
# 创建钉钉机器人实例
dingtalk_bot = DingtalkChatbot(webhook=dingtalk_webhook)
# 发送钉钉消息
dingtalk_bot.send_text(msg='这是一条测试消息')
# 邮件发送配置
mail_host = 'smtp.163.com' # 发件人邮箱SMTP服务器
mail_port = 465 # 邮件发送端口
mail_user = 'sender@example.com' # 发件人邮箱账号
mail_pass = 'password' # 发件人邮箱密码
sender = 'sender@example.com' # 发件人邮箱
receivers = ['receiver1@example.com', 'receiver2@example.com'] # 收件人邮箱列表
# 构造邮件内容
message = MIMEText('这是一封测试邮件', 'plain', 'utf-8')
message['From'] = Header('发件人姓名', 'utf-8')
message['To'] = Header('收件人姓名', 'utf-8')
message['Subject'] = Header('测试邮件', 'utf-8')
# 发送邮件
try:
smtpObj = smtplib.SMTP_SSL(mail_host, mail_port)
smtpObj.login(mail_user, mail_pass)
smtpObj.sendmail(sender, receivers, message.as_string())
print("邮件发送成功")
except smtplib.SMTPException as e:
print("Error: 邮件发送失败", e)
```
以上代码中,首先创建了一个钉钉机器人实例,然后使用 `send_text` 方法发送一条测试消息。接着,使用 `smtplib` 库构造了一封测试邮件,并使用 SMTP 服务器发送邮件。如果一切正常,程序将输出“邮件发送成功”。