在阿里云用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>标签段落分割。
- 设置邮件主题、发送方和接收方的信息,以及邮件内容的编码方式。
- 注意保护账号密码信息,最好使用系统环境变量来存储密码。