python flask-mail--实现邮件发送功能--带发送附件,压缩包,图片

首先 此功能 是基于 flask框架实现邮件发送

本人实现的QQ邮件发送。

一、qq邮箱设置

 1.先进入qq邮件中进行配置

二、flask 进行设置

1.按照 flask-mail这个扩展包

执行命令 pip install flask-mail

导入 

from flask_mail import Mail,Message
import config 导入配置文件

实例化配置

mail = Mail()
app = Flask(__name__)
#引入加载配置
app.config.from_object(config)
mail.init_app(app)
MAIL_DEBUG = True             # 开启debug,便于调试看信息
MAIL_SUPPRESS_SEND = False    # 发送邮件,为True则不发送
MAIL_SERVER = 'smtp.qq.com'   # 邮箱服务器
MAIL_PORT = 465               # 端口
MAIL_USE_SSL = True           # 重要,qq邮箱需要使用SSL
MAIL_USE_TLS = False          # 不需要使用TLS
MAIL_USERNAME = '75......@qq.com'  # 填邮箱
MAIL_PASSWORD = '.....'      # 填授权码
FLASK_MAIL_SENDER = '皮皮虾!我们走!<752885032@qq.com>'   #邮件发送方
FLASK_MAIL_SUBJECT_PREFIX = '[皮皮虾!我们走]'     #邮件标题
MAIL_DEFAULT_SENDER = '752885032@qq.com'  # 填邮箱,默认发送者**加粗样式**

发送内容路由

@app.route('/sendmail')
def sendmail():
    message = Message(subject='hello flask-mail', recipients=['752885032@qq.com'], body='flask-mail测试代码')
    try:
        mail.send(message)
        return '发送成功,请注意查收~'
    except Exception as e:
        print(e)
        return '发送失败'

#发送附带附件的邮件 --压缩包图片都可以 亲测
@app.route('/email_send_attach/')
def email_send_attach():
    message = Message(subject='hello flask-mail',recipients=['752885032@qq.com'],body='我是一个附件邮件')
    try:

        # with open(filename,'rb') as fp:
        #     message.attach("test.jpg", "image/jpg", fp.read())

        with app.open_resource('./test.zip') as fp:
            # attach("文件名", "类型", 读取文件)
            message.attach("test.zip", 'application/octet-stream', fp.read())

        mail.send(message)
        return '发送成功,请注意查收~'
    except Exception as e:
        print(e)
        return '发送失败'

看看邮箱效果:

文件

  内容文本

图片

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
要使用 Flask-Mail 发送简易美观的 HTML5 邮件,需要进行以下步骤: 1. 创建一个 HTML5 邮件模板,可以使用类似于 Bootstrap 的 CSS 框架来美化邮件的样式。 2. 在 Flask 应用中配置 Flask-Mail。 3. 创建一个邮件函数,该函数需要使用 Flask-Mail 提供的 `Message` 类来构建邮件内容,可以使用 `html` 参数来指定 HTML5 邮件模板。 以下是一份示例代码,供参考: ```python from flask import Flask, render_template from flask_mail import Mail, Message app = Flask(__name__) app.config['MAIL_SERVER'] = 'smtp.example.com' app.config['MAIL_PORT'] = 465 app.config['MAIL_USE_SSL'] = True app.config['MAIL_USERNAME'] = 'your-email@example.com' app.config['MAIL_PASSWORD'] = 'your-email-password' mail = Mail(app) @app.route('/send-mail') def send_mail(): recipient = 'recipient@example.com' message = Message('Subject of the Mail', recipients=[recipient]) message.html = render_template('email_template.html') mail.send(message) return 'Mail sent successfully!' if __name__ == '__main__': app.run() ``` 在上面的代码中,我们首先配置了 Flask-Mail,指定了 SMTP 服务器、端口、SSL、用户名和密码等信息。然后,我们创建了一个 `send_mail` 函数,该函数构建了一个 `Message` 对象,并使用 `render_template` 函数渲染了一个 HTML5 邮件模板,并将其赋值给了 `html` 参数。最后,我们使用 Flask-Mail 的 `send` 方法发送了邮件。 请注意,上述代码中的 `email_template.html` 文件是一个 HTML5 邮件模板,可以使用类似于 Bootstrap 的 CSS 框架来美化邮件的样式。在 `email_template.html` 文件中,您可以使用 Flask 提供的 `{{ }}` 语法来插入变量、循环和条件语句等。 希望这可以帮助你发送美观的 HTML5 邮件!

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值