likes
comments
collection
share

【Python脚本】使用Python发送邮件的简单实现

作者站长头像
站长
· 阅读数 25

哈喽大家好,我是Xwaiy。

发邮件我们都会,那有没有一种方法只操作一次发送就可以给对方发多封邮件呢,然后我就想到可以用python实现批量发送邮件呀

一想到这里,我就立马啪啪啪的去研究怎么写,最后还是把脚本给写出来并成功运行了。不得不说,上班的时候除了工作,干啥都勤快。

创建 SMTP 对象

使用 smtplib.SMTP_SSL 方法创建一个安全的 SMTP 对象,该方法需要指定 SMTP 服务器的地址和端口号。要使用SMTP,邮箱必须要开启SMTP服务,具体怎么开启,可以看下一步。

def send_email():
  smtp_obj = smtplib.SMTP_SSL('smtp.163.com',465)

登录邮箱

使用 smtp_objlogin 方法登录邮箱。登录所需的邮箱地址授权码应妥善保管。

smtp_obj.login('个人邮箱@163.com','邮箱授权码')

授权码的获取非常简单,我用163邮箱做示范 先去登录网页版的邮箱,登录之后在首页找到设置,点击设置选择POP3/SMTP/IMAP

【Python脚本】使用Python发送邮件的简单实现 然后在设置页面中,先检查有没有开启SMTP服务,没有开启的要先开启,然后往下拉,找到授权密码管理 点击新增授权密码

【Python脚本】使用Python发送邮件的简单实现 然后就是按照提示继续后续步骤就行了

【Python脚本】使用Python发送邮件的简单实现 新增成功后会有个授权密码,记得复制保存 记得复制保存 记得复制保存 到这里,开启SMTP服务和获取授权密码就已经完成了

编辑邮件内容

准备邮件内容,包括文本内容、发送者地址和主题。

  # 编辑内容
  mail_text = '邮件内容写这里'
  # plain 原生文本模式
  msg_body = MIMEText(mail_text,'plain','utf-8')
  # 设置从哪发送的
  msg_body['From'] = Header('个人邮箱@163.com')
  msg_body['Subject'] = Header('这是一个邮件!','utf-8')

发送邮件

使用 smtp_objsendmail 方法发送邮件。该方法需要提供发送者、接收者和邮件内容。

# 发送邮件
for i in range(3):
smtp_obj.sendmail('个人邮箱@163.com','目标邮箱@qq.com',msg_body.as_string())
#等待30秒
time.sleep(30)

注意事项

  • 请确保保密和妥善管理邮箱地址、授权码和其他敏感信息。
  • 使用延迟发送邮件时,确保遵循服务提供商的使用政策。

以下是全部代码示例:

import time
import smtplib
from email.mime.text import MIMEText
from email.header import Header
from email.utils import formataddr
 
def send_email():
  # 设置要登录的邮箱
  smtp_obj = smtplib.SMTP_SSL('smtp.163.com',465)
  # 登录邮箱
  smtp_obj.login('个人邮箱@163.com','邮箱授权码')
  # 编辑内容
  mail_text = '邮件内容写这里'
  # plain 原生文本模式
  msg_body = MIMEText(mail_text,'plain','utf-8')
  # 设置从哪发送的
  msg_body['From'] = Header('个人邮箱@163.com')
  msg_body['Subject'] = Header('这是一个邮件!','utf-8')
  # 发送邮件
  for i in range(3):
    smtp_obj.sendmail('个人邮箱@163.com','目标邮箱@qq.com',msg_body.as_string())
  #等待30秒
  time.sleep(30)
 
if __name__ =='__main__':
  send_email()

代码运行后,对方就会收到发送的邮件

【Python脚本】使用Python发送邮件的简单实现

好了,以上就是我上班时闲到屁股发麻搞的脚本,希望大家喜欢!!!

转载自:https://juejin.cn/post/7367252049559781416
评论
请登录