自动发送邮件


https://blog.csdn.net/wuShiJingZuo/article/details/135243836

首先,一个邮箱的账号密码

3301177256@qq.com
19727341537ab

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
import smtplib
from email.mime.text import MIMEText
from email.mime.multipart import MIMEMultipart

# 发件人和收件人信息
sender_email = "3301177256@qq.com"
receiver_email = "2192341537@qq.com"
password = "19727341537ab"

# 创建邮件
message = MIMEMultipart()
message["From"] = sender_email
message["To"] = receiver_email
message["Subject"] = "自动发送邮件示例"

# 添加邮件正文
message.attach(MIMEText("这是一封自动发送的邮件。", "plain"))

# 连接到SMTP服务器
with smtplib.SMTP("smtp.gmail.com", 587) as server:
server.starttls()
server.login(sender_email, password)
server.sendmail(sender_email, receiver_email, message.as_string())

print("邮件已发送成功!")

import smtplib
from email.mime.text import MIMEText
from email.mime.multipart import MIMEMultipart

发件人和收件人信息

sender_email = “3301177256@qq.com
receiver_email = “2192341537@qq.com
password = “pfeehawhldmpdbbg” # It’s recommended to use a more secure approach for handling passwords

创建邮件

message = MIMEMultipart()
message[“From”] = sender_email
message[“To”] = receiver_email
message[“Subject”] = “自动发送邮件示例”

添加邮件正文

message.attach(MIMEText(“这是一封自动发送的邮件。”, “plain”))

连接到SMTP服务器 (确保使用QQ邮箱的SMTP服务器和正确的端口)

with smtplib.SMTP_SSL(“smtp.qq.com”, 465) as server: # 使用SSL和QQ的SMTP服务器
server.login(sender_email, password)
server.sendmail(sender_email, receiver_email, message.as_string())

print(“邮件已发送成功!”)

成功,注意:QQ是QQ邮箱授权码

PS C:\Users\Administrator> & C:/Users/Administrator/AppData/Local/Microsoft/WindowsApps/python3.12.exe c:/Users/Administrator/Desktop/邮箱提醒/script.py
邮件已发送成功

会了

import smtplib
from email.mime.text import MIMEText
from email.mime.multipart import MIMEMultipart
import sys

发送邮件的函数

def send_email(subject, body):
sender_email = “3301177256@qq.com
receiver_email = “2192341537@qq.com
password = “pfeehawhldmpdbbg” # 使用环境变量或其他安全方式存储密码

message = MIMEMultipart()
message["From"] = sender_email
message["To"] = receiver_email
message["Subject"] = subject

message.attach(MIMEText(body, "plain"))

with smtplib.SMTP_SSL("smtp.qq.com", 465) as server:
    server.login(sender_email, password)
    server.sendmail(sender_email, receiver_email, message.as_string())

使用命令行参数来指定邮件主题和内容

if name == “main“:
subject = sys.argv[1]
body = sys.argv[2]
send_email(subject, body)

要利用Windows的任务计划程序进行定时发送邮件,你需要遵循以下步骤:

1. 将你的Python脚本保存为文件

首先,确保你的Python脚本(就如你上面提供的那样)被保存为一个.py文件,比如send_email.py

2. 测试你的Python脚本

在创建任务之前,确保通过命令行或终端手动运行你的脚本是可以工作的。这样可以避免在任务计划程序中遇到不必要的麻烦。

3. 打开任务计划程序

  • 在Windows中,按下Windows键,然后输入“任务计划程序”并打开它。

4. 创建基本任务

  • 在任务计划程序中,选择“操作”菜单中的“创建基本任务…”。
  • 给任务命名,并且如果你愿意的话,添加一个描述。点击“下一步”继续。

5. 触发器

  • 选择何时触发任务。例如,你可以选择“每天”来进行日常任务。设置好时间和频率后,点击“下一步”。

6. 操作

  • 选择“启动程序”,然后点击“下一步”。
  • 在“程序或脚本”框中,输入你的Python解释器的路径。这通常是python或者完整路径,如C:\Python39\python.exe
  • 在“添加参数(可选)”框中,输入你的脚本文件名,如send_email.py
  • 在“起始于(可选)”框中,输入你的脚本文件所在的完整目录路径。

7. 完成任务创建

  • 点击“下一步”,然后复查你的设置。如果一切正确,点击“完成”。

注意事项

  • 安全性:你的脚本包含了敏感信息(如密码)。确保这个脚本和相关文件存放在一个安全的地方。
  • SMTP服务器:你的脚本中使用了smtp.gmail.com,但你的邮件地址是qq.com的。确保你使用正确的SMTP服务器地址。对于QQ邮箱,通常是smtp.qq.com,并且需要特定的授权码而不是密码进行SMTP服务登录。
  • 测试:在设置任务计划之前,确保通过命令行测试你的脚本,确认它能够正常工作。

按照这些步骤,你就能够设置Windows任务计划程序自动运行你的Python脚本,按计划发送电子邮件了。


文章作者: 花粱
版权声明: 本博客所有文章除特別声明外,均采用 CC BY 4.0 许可协议。转载请注明来源 花粱 !
  目录