python发送邮件-实操记录-发送一封普通的邮箱

获取smtp服务

开通qq邮箱的smtp服务的流程详情_pyhui的技术博客-CSDN博客
https://blog.csdn.net/ifubing/article/details/104499005

他说以后会得到一串密码

代码:功能实现

# 导入邮件体相关功能
from email.header import Header
from email.mime.multipart import MIMEMultipart
from email.mime.text import MIMEText
# 导入发送邮件相关功能
from smtplib import SMTP_SSL
import smtplib

# 手动这里改为密码
smtp_pwd = 'smtp的密码'  # 这里是需要修改的

# 邮件发送者
sender = "[email protected]"
# 邮件接收者
receiver = '[email protected]'

# 邮件主体对象
msg = MIMEMultipart()
# 头部对象
header = Header("邮件主题str", "utf8")
msg['Subject'] = header
msg['From'] = sender
msg['to'] = Header(receiver + "努力的", 'utf8')
mime_text = MIMEText("邮件正文str", "plain", "utf8")
msg.attach(mime_text)

host_server = 'smtp.qq.com'

smtp = SMTP_SSL(host_server)
smtp.login(sender, smtp_pwd)
smtp.sendmail(sender, receiver, msg.as_string())

逻辑图

实例化
参数1
参数2
实例化得到
实例化得到
等于
等于
参数1
参数2
实例化
实例化
参数1
参数1
参数1
实例化
实例化
实例化
方法-attach-需要参数
等于
需要参数
实例化
方法-login-需要参数1
方法-login-需要参数2
方法-sendmail-需要参数
方法-sendmail-需要参数
方法-sendmail-需要参数
MIMEMultipart类
邮件体对象
Subject
From
to
Header类
邮件主题
utf8
Header类对象
发件人的邮箱
Header类
收件人
utf8
Header类对象-收件人名称
MIMEText类
邮件正文str
plain字符串,代表纯文本
utf8
邮件正文对象
SMTP_SSL类
smtp的服务器地址str
smtp服务器对象
发件人邮箱
smtp密码
发件人邮箱
收件人邮箱
邮件主体对象.as_string方法

封装成类

# 导入邮件体相关功能
from email.header import Header
from email.mime.multipart import MIMEMultipart
from email.mime.text import MIMEText
# 导入发送邮件相关功能
from smtplib import SMTP_SSL
import smtplib


# 可作业配置用途
# smtp信息
host_server = 'smtp.qq.com'  # smtp服务器地址
smtp_pwd = 'imaijoobbbzbge'  # s密码2
# 发件人邮箱
sender = "[email protected]"  # 发件人邮箱


class EMail:
    def __init__(self):
        self.smtp = self._login_smtp()
        self.msg = MIMEMultipart()

    def _login_smtp(self):
        smtp = SMTP_SSL(host_server)
        smtp.login(sender, smtp_pwd)
        return smtp

    def _send_mail(self, receiver):
        self.smtp.sendmail(sender, receiver, self.msg.as_string())
        self.msg['to'] = Header(receiver, 'utf8')

    def _write_message(self, subject_title,content):
        header = Header(subject_title, "utf8")
        self.msg['Subject'] = header
        self.msg['From'] = sender

        mime_text = MIMEText(content, "plain", "utf8")
        self.msg.attach(mime_text)

    def send_mail(self,subject_title,content,receiver):
        self._write_message(subject_title,content)
        self._send_mail(receiver)


if __name__ == '__main__':
    # 邮件接收者
    receiver = '[email protected]'
    obj = EMail()
    obj.send_mail('用类发送的','试一试希望可以成功',receiver)

测试的效果

在这里插入图片描述

发布了941 篇原创文章 · 获赞 44 · 访问量 13万+

猜你喜欢

转载自blog.csdn.net/ifubing/article/details/104498961