Flask WTF 到 Flask 邮件附件?

2024-01-21

通过flask-wtf上传文件,然后使用flask-mail邮寄

def careers():
    form = CareersForm()

    if form.validate_on_submit():
        msg = Message('my subject for message', sender = MAIL_USERNAME, recipients = [company_email])
        msg.html = "My message"
        with app.open_resource(form.resume) as fp:
            msg.attach("resume.pdf", "application/pdf", fp.read())
        mail.send(msg)

    return render_template('default/careers.html',form=form)

我得到的错误是AttributeError: 'FileField' object has no attribute 'startswith'理想的结果是它附加并发送电子邮件。


该程序将上传一个文件并将其附加到电子邮件中。电子邮件服务器设置存储在settings.py.

#!/usr/bin/env python

from flask import Flask, render_template_string
from flask_wtf import FlaskForm
from wtforms import StringField, validators
from flask_wtf.file import FileField
from flask_mail import Mail, Message

app = Flask(__name__)
app.config.from_object('settings')
mail = Mail(app)


class FileForm(FlaskForm):
    file_ = FileField('Some file')
    addr = StringField('Address', [validators.InputRequired()])


@app.route('/', methods=['GET', 'POST'])
def root():
    form = FileForm()
    if form.validate_on_submit():
        msg = Message(
            'Sending file',
            sender=form.addr.data.strip(),
            recipients=[form.addr.data.strip()])
        msg.body = 'Sending file %s' % (form.file_.name)
        msg.attach(
            form.file_.data.filename,
            'application/octect-stream',
            form.file_.data.read())
        mail.send(msg)
        return "Sent"

    return render_template_string('''
        <html><body><form method="post" enctype="multipart/form-data">
            {{ form.hidden_tag() }}
            {{ form.addr.label }}: {{ form.addr() }}<br/>
            {{ form.file_.label }}: {{ form.file_() }}<br/>
            <input type="submit" value="Click Me!"/>
        </form></body></html>''', form=FileForm())

if __name__ == '__main__':
    app.run(debug=True)
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Flask WTF 到 Flask 邮件附件? 的相关文章

随机推荐

  • 打印错误消息的正确方法

    这一行是在 Bash 中打印错误消息的最佳方法吗 echo Error banana gt 2 我需要更新数十个 Bash 脚本 这些脚本使用所有不同的方式记录错误 我不妨选择 正确 的方式来执行此操作并遵守我所做的标准 在我的 bash
  • 如何将base64编码的图像传递给Tensorflow预测?

    我有一个 google cloud ml 模型 我可以通过传递 float32 的 3 维数组来运行预测 instances input 0 0 0 5 0 8 然而 这不是传输图像的有效格式 所以我想传递 base64 编码的 png 或
  • 在Notepad++中如何找到字符串的第n次出现

    我有一个巨大的文本文件 其中的记录由字符串 MSH 标识 我需要找到第 200 条记录 我希望在 Notepad 中可以使用一个正则表达式 它可以让我找到字符串 MSH 第 200 次出现的位置 如果您的文件只是一个由字符串 MSH 分隔的
  • 从 cert 文件到 pfx 文件的转换

    是否可以将 cert 文件转换为 pfx 文件 我尝试将我的 cerf 文件导入 IE 但它从未显示在 个人 选项卡下 因此我无法在那里导出 我正在寻找是否有可用的替代方案 仅供参考 cerf 文件是通过使用 keytool 创建的 然后导
  • 模块构建失败(来自 ./node_modules/mini-css-extract-plugin/dist/loader.js):ReferenceError:文档未定义

    好的 基本上我们在部署之前使用 webpack 来捆绑我们的资源 然而 现在我们还想通过 webpack 捆绑我们的 sass 文件 因为它简化了我们的构建过程 一切进展顺利 但现在bundle js太大而无法在生产中部署 所以我想拆分bu
  • SPA(单页应用程序)是否适合针对移动设备的网站?

    我计划创建一个主要针对手机的网站 其中包含大约 20 个不同的视图 页面 如果我想专注于在页面之间切换时使用户体验非常灵敏 如快速 那么将网站创建为单页应用程序是一个好主意吗 我知道您可以采取许多技巧来提高移动网站的整体性能 http ww
  • 如何通过Axios JavaScript HTTP请求发送JSON或Form数据到FastAPI后端?

    我有一个 FastAPI 后端配置如下 app post engines completions async def read completions engine id str prompt Optional str None max t
  • 如何使用 MapStruct 将字符串转换为映射?

    I have Story我的 Spring Boot 应用程序中的实体 它有String field storyInfo其中包含 title random title description random description For m
  • Java REST 实现:Jersey 与 CXF [关闭]

    Closed 这个问题需要多问focused help closed questions 目前不接受答案 您认为这两个库之间的优点 缺点是什么 这两个哪个最适合生产环境 顺便说一句 我将使用 JSON 而不是 XML 我还想知道哪个库最受社
  • 在自定义上下文菜单中实现“粘贴”

    这是我试图解决的问题 我不确定这是否可能 我有一个网络应用程序 我需要启用从该应用程序到该应用程序的数据复制 粘贴 但我在粘贴时遇到问题 如果我使用 CTRL V 快捷键过去 我可以使用以下命令从剪贴板获取数据 e originalEven
  • OpenCV 2.4.5 中的访问冲突读取

    我尝试了有关匹配许多图像的示例代码OpenCV 2 4 5我修改了该代码 我找到了错误代码 Unhandled exception at 0x585a7090 in testing exe 0xC0000005 Access violati
  • Javascript扩展对象问题

    我有以下代码 this myObject key1 val1 key2 val2 this aMethod function newObject 这里我想要一个新对象 可能继承自this myObject 包含所有内容this myObje
  • 给定一个 nxn 邻接矩阵,如何计算图中三角形的数量(Matlab)?

    我编写了一个函数 给定 n 生成随机 nxn 邻接矩阵 我想知道是否有一种方法可以计算矩阵表示的图中三角形的数量 The i j 中的元素n 邻接矩阵的幂A计算长度路径的数量n开始于i并结束于j 三角形是一条长度为 3 起始点和终止点相同的
  • Spark读取不同版本的Parquet文件

    我使用 Version1 架构生成了一年多的镶木地板文件 随着最近的架构更改 较新的镶木地板文件具有 Version2 架构额外列 因此 当我从旧版本和新版本一起加载镶木地板文件并尝试过滤更改的列时 我得到一个异常 我希望 Spark 读取
  • 用户评论 - R 中的主题建模或意图检测

    我正在 R 中进行社交媒体分析 类似于查看特定业务的用户反馈并尝试将用户评论区分为类别 主题 例如 查找用户评论是否谈论邻里或犯罪等 如何找到给定文本的意图 为了训练模型 我没有任何预先确定的主题和标题 我正在进行一个未知的主题分析 主题建
  • SonarQube:如何抑制 Kotlin 代码中的警告

    我正在使用 SQ 7 3 alpha1 和 sonar kotlin plugin 1 0 1 965 jar 但是 我无法在 Spring Data 中的存储库的 Kotlin 代码中停用特殊警告 其中我需要在方法名称中包含 我都尝试过
  • 如何将 CMS 设置为 iPhone 应用程序的后端

    我希望我的 iPhone 应用程序能够从网络上获取动态内容 应使用 CMS 管理此内容 我特别想知道我是否可以将 Drupal 或 Joomla 或其他 CMS 设置为我的 iPhone 应用程序的后端来获取内容 任何有关如何实现这一目标的
  • viewWillAppear 不会触发属于 UITabBarController 的 UIViewController,直到我切换选项卡

    在我的 iOS 应用程序中 我有一个UITabBarController 及其viewControllers列表看起来像 vc1 vc2 属于类MyVC1 and MyVC2分别是这两个子类UIViewController MyVC1覆盖v
  • 将 POST 表单数据从 AngularJS 客户端发送到 Express/Node.js 服务器

    我正在尝试从 AngularJS 表单读取数据并将其发送到 Express 服务器 我发送数据的客户端函数确实执行 但请求从未到达服务器 我认为 URL 有问题 我的相关部分AngularJS 控制器 scope loginUser fun
  • Flask WTF 到 Flask 邮件附件?

    通过flask wtf上传文件 然后使用flask mail邮寄 def careers form CareersForm if form validate on submit msg Message my subject for mess