c语言编程笔录

首页 >   > 笔记大全

笔记大全

在阿里云用python发送邮件Python自动发送邮件

更新时间:2023-07-14

第一段:背景介绍

在日常工作中,我们经常需要用Python给合作伙伴或客户发送邮件。本文将介绍如何使用Python在阿里云服务器上发送邮件。

第二段:用Python和阿里云SMTP发送邮件

下面是一个示例代码,演示如何使用Python和阿里云SMTP服务来发送邮件:

import smtplib
from email.mime.text import MIMEText

mail_host = 'smtp.aliyun.com'  # 设置邮箱服务器,这里以阿里云邮箱为例
mail_port = 465  # 设置端口号(465或者587)
mail_user = 'your_email@aliyun.com'  # 发送方邮箱
mail_pwd = 'your_password'  # 发送方邮箱密码
receivers = ['receiver1@domain.com', 'receiver2@domain.com']  # 接收方邮箱,可以是一个列表,支持多个接收者

# 构造邮件内容
msg = MIMEText('这是一封测试邮件', 'plain', 'utf-8')  # 邮件正文
msg['Subject'] = '测试邮件'  # 邮件主题
msg['From'] = mail_user  # 发送方邮箱
msg['To'] = ','.join(receivers)  # 接收方邮箱

# 发送邮件
server = smtplib.SMTP_SSL(mail_host, mail_port)  # 连接邮箱服务器
server.login(mail_user, mail_pwd)  # 登录邮箱
server.sendmail(mail_user, receivers, msg.as_string())  # 发送邮件
server.quit()  # 退出邮箱服务器

第三段:使用Python自动发送邮件

为了方便日常工作,我们可以使用Python自动发送邮件。例如,我们可以使用Python编写一个定时任务,在每天早上自动发送一封邮件提醒团队成员工作安排。

import schedule
import time
import smtplib
from email.mime.text import MIMEText

mail_host = 'smtp.aliyun.com'  # 设置邮箱服务器,这里以阿里云邮箱为例
mail_port = 465  # 设置端口号(465或者587)
mail_user = 'your_email@aliyun.com'  # 发送方邮箱
mail_pwd = 'your_password'  # 发送方邮箱密码
receivers = ['receiver1@domain.com', 'receiver2@domain.com']  # 接收方邮箱,可以是一个列表,支持多个接收者

# 构造邮件内容
msg = MIMEText('早上好,今天的工作安排如下:...', 'plain', 'utf-8')  # 邮件正文
msg['Subject'] = '工作安排提醒'  # 邮件主题
msg['From'] = mail_user  # 发送方邮箱
msg['To'] = ','.join(receivers)  # 接收方邮箱

def send_email():
    server = smtplib.SMTP_SSL(mail_host, mail_port)  # 连接邮箱服务器
    server.login(mail_user, mail_pwd)  # 登录邮箱
    server.sendmail(mail_user, receivers, msg.as_string())  # 发送邮件
    server.quit()  # 退出邮箱服务器

# 设置定时任务
schedule.every().day.at('9:00').do(send_email)

while True:
    schedule.run_pending()
    time.sleep(1)

第四段:代码规范和注意事项

在编写Python发送邮件的代码时,注意以下几点:

  • 确保使用正确的邮箱服务器和端口号,不同的邮箱服务提供商可能具有不同的配置。
  • 在邮件正文中使用合适的HTML标签来美化邮件内容,例如使用<p>标签段落分割。
  • 设置邮件主题、发送方和接收方的信息,以及邮件内容的编码方式。
  • 注意保护账号密码信息,最好使用系统环境变量来存储密码。