Gmail 邮箱python自动发送邮件

反正就是要给一批人发送内容差不多的邮件, 手上只有文本格式的每个人的email address和对应的message.
写了很久了,弄出来以后好看。。
反正gmail的话,得到邮箱选项里设置几个东西(降低自己账户安全等级)。否则有可能发不出去,或者是发几十封之后账户被锁。。。

import smtplib
import ssl
from email import encoders
from email.mime.multipart import MIMEBase
from email.mime.multipart import MIMEMultipart
from email.mime.text import MIMEText
import time

from utils import mail_generator

sender_email = 'xxxxxxxx@gmail.com'
password = 'xxxxxxxx'

context = ssl.create_default_context()

# 端口465好像是在gmail官方说明里查的,具体忘了
with smtplib.SMTP_SSL("smtp.gmail.com", 465, context=context) as server:
    server.login(sender_email, password)

    def send_mail(subject, mail_text, mail_address):

        message = MIMEMultipart("alternative")
        message["Subject"] = subject
        message["From"] = sender_email
        message["To"] = mail_address
        text = mail_text
        part1 = MIMEText(text, "plain")
        message.attach(part1)

        text = message.as_string()

        server.sendmail(
            sender_email, mail_address, message.as_string())

    for info in mail_generator():
        mail_text, receiver, mail_address, sID = info
        
        subject = f"给{receiver}{sID}的邮件标题"
        send_mail(subject, mail_text, mail_address)
        time.sleep(3)    # 停3秒发一封,但是还是建议调更大一点儿
        print(subject+"sended!!!!!!")

©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • 邮件是我们日常工作中主要的沟通媒介之一。目前几乎所有编程语言都支持发送和接收电子邮件。接下来将介绍如何使用Pyth...
    泷汰泱阅读 2,356评论 0 4
  • 简单邮件传输协议(SMTP)是一种协议,用于在邮件服务器之间发送电子邮件和路由电子邮件。 Python提供smtp...
    易百教程阅读 44,593评论 4 62
  • 网络 理论模型,分为七层物理层数据链路层传输层会话层表示层应用层 实际应用,分为四层链路层网络层传输层应用层 IP...
    FlyingLittlePG阅读 972评论 0 0
  • 从古代的八百里加急,到现在的电子邮件,邮件的发展见证了上下五千年的发展史,这些当然是废话,只是要说说邮件的重要性。...
    大牧莫邪阅读 1,656评论 0 13
  • Java Mail 简介 常见的邮件协议包括:SMTP(Simple Mail Transfer Protocol...
    Josaber阅读 3,418评论 1 9

友情链接更多精彩内容