Python实现发邮件

使用Python的SMTP发送QQ邮箱邮件教程,

目录

1. 介绍

2. 准备工作

3. 代码实现

4. 验证测试


1. 介绍

        本文将介绍python程序使用QQ邮箱账号,实现发送邮件的功能。您可以访问我的主页查看更多文章。

代码写不完了的博客代码写不完了擅长Python项目,python爬虫,python操作文件,等方面的知识,代码写不完了关注pandas,python,django,pygame,spark,pip,virtualenv,numpy,flask领域.https://blog.csdn.net/spx_0108

2. 准备工作

(1)通过浏览器登录网页版QQ邮箱,然后进入到设置页面:

(2) 向下滑,找到POP3/IMAP/SMTP/Exchange/CardDAV/CalDAV服务,开启服务,我的已开启,这边不再做演示,点击管理服务,进入管理界面:

 (3)点击生成授权码,然后按照提示操作:

 (4)复制保存生成的授权码:

3. 代码实现

        编写sendemail.py:

import smtplib
from email.mime.text import MIMEText
from email.header import Header

class SendEmail():
    def __init__(self, subject, info):
        # 发件人邮箱
        self.sender = '******@qq.com'
        # 发件人邮箱密码(注意不是QQ密码,是授权码)
        self.password = '*********'
        # 收件人邮箱,可以是多个邮箱,使用列表存储
        self.receiver = ['****@qq.com']
        # 发件人昵称
        self.nickname = '***'

        # SSL协议端口号要使用465
        self.smtp_ssl_server = 'smtp.qq.com'
        self.smtp_ssl_port = 465

        self.subject = subject
        self.info = info

    def send_email(self):

        message = MIMEText(self.info, 'plain', 'utf-8')  # 邮件正文
        message['From'] = Header(f'{self.nickname} <{self.sender}>')  # 发件人昵称
        message['To'] = Header(self.receiver[0])    # 收件人昵称
        message['Subject'] = Header(self.subject, 'utf-8')   # 邮件主题

        try:
            # 登录SMTP服务器,发送邮件
            smtpObj = smtplib.SMTP_SSL(self.smtp_ssl_server, self.smtp_ssl_port)
            smtpObj.login(self.sender, self.password)
            smtpObj.sendmail(self.sender, self.receiver, message.as_string())
            print("邮件发送成功")
        except smtplib.SMTPException as e:
            print("邮件发送失败", e)

if __name__ == '__main__':

    # 邮件主题
    subject = 'test'
    # 邮件正文
    info = 'test_info'

    test = SendEmail(subject, info)
    test.send_email()

4. 验证测试

运行sendemail.py,可以看到终端输出:

 收件人也收到了邮件:

Python 中,实现发邮件附件可以使用 Python 标准库中的 smtplib 和 email 模块。以下是一个简单的示例代码,可以实现向指定邮箱发送带有附件的邮件: ```python import smtplib from email.mime.text import MIMEText from email.mime.multipart import MIMEMultipart from email.mime.application import MIMEApplication # 邮箱账号信息 smtp_server = 'smtp.qq.com' smtp_port = 465 smtp_user = 'your_email@qq.com' smtp_password = 'your_password' # 发送方、接收方、主题、正文、附件信息 sender = 'your_email@qq.com' receivers = ['recipient_email@qq.com'] subject = 'Python 发送带附件邮件示例' body = '这是一封 Python 发送带附件邮件的示例邮件' attachment_file = 'example.txt' # 构造邮件 msg = MIMEMultipart() msg['From'] = sender msg['To'] = ','.join(receivers) msg['Subject'] = subject # 添加正文 msg.attach(MIMEText(body, 'plain')) # 添加附件 with open(attachment_file, 'rb') as f: attachment = MIMEApplication(f.read()) attachment.add_header('Content-Disposition', 'attachment', filename=attachment_file) msg.attach(attachment) # 发送邮件 server = smtplib.SMTP_SSL(smtp_server, smtp_port) server.login(smtp_user, smtp_password) server.sendmail(sender, receivers, msg.as_string()) server.quit() print('邮件发送成功!') ``` 在上面的代码中,需要替换的是发件人邮箱、收件人邮箱、邮箱账号密码以及附件文件名。通过运行这段代码,即可实现向指定邮箱发送带有附件的邮件
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

一只程序猿子

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值