将文件(如对象)附加到电子邮件 python 3

2023-11-23

我在网上找到了很多有关如何将本地文件附加到电子邮件的示例。我想做的是将一个类似对象的文件附加到电子邮件中。你为什么问?所以我不必处理清理文件的问题。下面是我的代码和我的错误。经过多次谷歌搜索后,我仍然没有设法让它工作,任何帮助将不胜感激:)

def email_sup_teams(team_name, contact_list, file_attachemnt):
    message_list = []
    for jobs in file_attachemnt:
        for k, v in jobs.items():
            message_list.append(v + ',')
    attachment_text = "\n".join(message_list)
    print(type(attachment_text))

    msg = MIMEText(' Failed jobs list. Please see attachment')
    msg['Subject'] = 'Not run Jobs for ' + team_name
    msg['From'] = '[email protected]'
    msg['To'] = '[email protected]'

    f = io.StringIO(attachment_text)
    attachment = MIMEText(f.read())
    attachment.add_header('Content-Disposition', 'attachment', filename='test_attach')           
    msg.attach(attachment)

    s = smtplib.SMTP('smlsmtp')
    s.sendmail(msg['From'], msg['To'], msg.as_string())
    s.quit()
    print('\n' + team_name + ' Email Sent')

error:

<class 'str'>
Traceback (most recent call last):
  File "queue_cleaner_main.py", line 85, in <module>
    sys.exit(main())
  File "queue_cleaner_main.py", line 82, in main
    queue_cleaner_functions.email_sup_teams(t, team_members_emails, attachment_file_of_jobs)
  File "D:\oppssup\old_job\queue_cleaner_functions.py", line 179, in email_sup_teams
    msg.attach(attachment)
  File "C:\Python34\lib\email\mime\nonmultipart.py", line 22, in attach
    'Cannot attach additional subparts to non-multipart/*')
email.errors.MultipartConversionError: Cannot attach additional subparts to non-multipart/*

原来我应该读过

Python 文档中的电子邮件示例

接近一点了。我非常确定这是因为我只使用 1 个 MIME 类型对象来构建我的电子邮件,但尝试添加多个 MIME 对象。基本上为了让它工作,我使用了下面的代码。快乐的时光!

def email_sup_teams(team_name, contact_list, file_attachemnt):
    message_list = []
    for jobs in file_attachemnt:
        for k, v in jobs.items():
            message_list.append(v + ',')
    attachment_text = "\n".join(message_list)
    print(type(attachment_text))
    # Create the container (outer) email message.
    msg = MIMEMultipart()
    #msg = MIMEText(' Failed jobs list. Please see attachment')
    msg['Subject'] = 'Not run Jobs for ' + team_name
    msg['From'] = '[email protected]'
    msg['To'] = '[email protected]'
    msg.preamble = 'Failed jobs list. Please see attachment'
    f = io.StringIO(attachment_text)
    attachment = MIMEText(f.getvalue())
    attachment.add_header('Content-Disposition', 'attachment', filename='jobs_not_run.xls')           
    msg.attach(attachment)

    s = smtplib.SMTP('smlsmtp')
    s.sendmail(msg['From'], msg['To'], msg.as_string())
    s.quit()
    print('\n' + team_name + ' Email Sent')
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

将文件(如对象)附加到电子邮件 python 3 的相关文章

随机推荐

  • 在 ajax 加载的内容上重新运行应用程序 Javascript

    我希望我的应用程序中的所有 AJAX 加载内容都由我的应用程序 JQuery 脚本进行评估 与正常加载的内容相同 例如JQuery 扫描 AJAX 加载的内容以查找选择器 例如 模式框链接 等 我所有的 JavaScript 都在普通的 d
  • HTML5 / JS 存储事件处理程序

    我正在使用 Safari webkit 的引擎以及 HTML5 和 JS 来创建一个离线应用程序 现在我正在使用sessionStorage数组来存储我的应用程序的状态 模拟 存储数据与检查器一起工作正常 功能工作正常 只是事件处理程序没有
  • 调用 WebMethod,传递 Dictionary 作为参数

    我正在尝试简化将数据从 WebMethod 层返回到客户端的过程 并将来自客户端的参数集表示为Dictionary
  • 从 python 的单词列表中返回一个随机单词

    我想使用 python 从文件中检索随机单词 但我不相信我的以下方法是最好或有效的 请协助 import fileinput import random file line for line in fileinput input etc d
  • PHP 通过 VPN 发布数据

    我需要连接到一个网络服务behind of a VPN通过 PHP 我的服务器是 Debian Linux Squeeze 是否可以在 Linux 上通过 PHP 来完成此任务 如果可以的话这样做会有风险吗 当VPN连接挂起等时 操作系统或
  • C# 中 JSON 字符串到 CSV 以及 CSV 到 JSON 的转换

    我正在我的 asp net Web API 项目中使用 JSON CSV 文件并尝试使用CSV助手 and ServiceStack Text库但无法使其工作 包含数组的 JSON 文件是动态的 并且可以具有任意数量的字段 我使用 Stre
  • C++ 从数组定义行为中间的指针进行负索引?

    include
  • Spark-NLP 预训练管道只能在 Linux 系统上运行吗?

    我正在尝试设置一个简单的代码 在其中传递数据帧并使用 johnSnowLabs Spark NLP 库提供的预训练解释管道对其进行测试 我正在使用 anaconda 的 jupyter 笔记本 并使用 apache toree 设置 Spa
  • 在linux中定期读取性能计数器

    有没有办法在Linux中定期读取性能计数器 就像是perf stat我正在寻找能够对每个 X 周期进行采样的能力 基本上我希望能够读取某些程序的每 X 个 CPU 周期的指令计数器 执行的指令数 好消息 在下一个内核 Linux 3 9 中
  • 无法在管道中构建 .Net 5

    两周前我使用 Net 5 RC2 创建了一个新的解决方案 我已将其升级到新版本 5 0 0 我正在尝试创建一个标准的 ASP Net 管道来构建它 代理池是 Azure Pipelines 代理规范我已经尝试过 windows 2019 和
  • Javascript:函数.原型.方法

    我想大多数人都看过下面的代码片段 Function prototype method function name func this prototype name func return this 我也知道它会影响所有函数 因为它们都是由
  • 不支持链接到“Gtk.Box.new”

    我是 Vala 的新手 到目前为止我认为它很酷 但我在理解继承方面遇到了困难 我读here我应该使用base 调用父构造函数 好吧 很酷 似乎可以理解 但它对我不起作用 我一直收到标题上的错误 这是我要展示的片段 public class
  • 使用 SciPy 进行逻辑回归

    我正在尝试使用 SciPy 在 Python 中编写逻辑回归代码fmin bfgs功能 但遇到了一些问题 我为逻辑 S形 变换函数和成本函数编写了函数 这些函数工作得很好 我使用了通过固定软件找到的参数向量的优化值来测试这些函数 并且这些函
  • XPath - 如何选择节点的子元素?

    我有一个包含 XHTML 表的 XmlDocument 我想循环遍历它以一次处理一行表格单元格 但下面的代码返回嵌套循环中的所有单元格 而不仅仅是当前行的单元格 XmlNodeList tableRows xdoc SelectNodes
  • .net core 中的 httprequest.UserHostName

    在 HttpRequest 上找不到 UserHostName 属性 任何论坛上都没有任何关于它的信息 这个已经被放弃了吗 任何想法 接受的答案不正确 someHttpContext Request Host对应于HostHTTP 请求中使
  • LINQ to SQL 设计器错误

    每次我在保存后更改设计器中的值时 designer cs 文件都会被删除 谁能告诉我如何解决这个问题 Move using您的指令DataContext cs and DataContext designer cs文件到namespace
  • 如何将 AJAX 检索到的值返回到 JavaScript 中当前函数的父函数?

    我有以下 JavaScript 和 jQuery 代码 function checkEmail email if email length getJSON ajax validate email email function data if
  • Node.js:获取已安装 npm 包的(绝对)根路径

    Task 我正在寻找一种通用方法来获取 Node js 中已安装 npm 包的 绝对 根路径 Problem 我知道关于require resolve 但这会给我入口点 主模块的路径 而不是包的根路径 Take bootstrap sass
  • 获取“td”元素的 jquery 索引

    我有标记 table tr td p class que 1 Who are you p td tr tr class ans td td tr table
  • 将文件(如对象)附加到电子邮件 python 3

    我在网上找到了很多有关如何将本地文件附加到电子邮件的示例 我想做的是将一个类似对象的文件附加到电子邮件中 你为什么问 所以我不必处理清理文件的问题 下面是我的代码和我的错误 经过多次谷歌搜索后 我仍然没有设法让它工作 任何帮助将不胜感激 d