使用 Python 的 SES 附件

2024-02-07

我正在使用 python 2.7 和 boto3。 我无法找到在 python 中向 SES 添加附件的方法。 我发现的最接近的东西是这一页 https://gist.github.com/yosemitebandit/2883593.

到目前为止我所拥有的是这样的:

from email.mime.text import MIMEText
from email.mime.application import MIMEApplication
from email.mime.multipart import MIMEMultipart
import boto3

# via http://codeadict.wordpress.com/2010/02/11/send-e-mails-with-attachment-in-python/
ses = boto3.client('ses')
msg = MIMEMultipart()
msg['Subject'] = 'weekly report'
msg['From'] = email
msg['To'] = other_email

# what a recipient sees if they don't use an email reader
msg.preamble = 'Multipart message.\n'

# the message body
part = MIMEText('Howdy -- here is the data from last week.')
msg.attach(part)

# the attachment
part = MIMEApplication(open('cat.jpg', 'rb').read())
part.add_header('Content-Disposition', 'attachment', filename='cat.jpg')
msg.attach(part)

result = ses.send_raw_email(
    Source=msg['From'],
    Destinations=msg['To'],
    RawMessage=msg
)                                                                                                       
# and send the message
print result

我得到:

ParamValidationError: Parameter validation failed:
Invalid type for parameter RawMessage, value: From nobody Tue Jul 25 11:21:41 2017
Content-Type: multipart/mixed; boundary="===============0285276385=="
MIME-Version: 1.0
Subject: weekly report
From: email
To: other_email

“email”和“other_email”经过审查,但采用字符串格式'[电子邮件受保护] /cdn-cgi/l/email-protection'。 地址通过AWS授权,Key和Secret密钥已经通过boto3实现。

还在输出的底部得到了这个:

type: <type 'instance'>, valid types: <type 'dict'>
Invalid type for parameter Destinations,
value: other_email, 
type: <type 'str'>, valid types: <type 'list'>, <type 'tuple'>

我想到了!可能有更好的方法可以做到这一点,但它对我有用。请让我知道如何改进这一点。谢谢。

新代码:

to_emails = [target_email1, target_email2]
ses = boto3.client('ses')
msg = MIMEMultipart()
msg['Subject'] = 'weekly report'
msg['From'] = from_email
msg['To'] = to_emails[0]

# what a recipient sees if they don't use an email reader
msg.preamble = 'Multipart message.\n'

# the message body
part = MIMEText('Howdy -- here is the data from last week.')
msg.attach(part)

# the attachment
part = MIMEApplication(open('cat.jpg', 'rb').read())
part.add_header('Content-Disposition', 'attachment', filename='cat.jpg')
msg.attach(part)

result = ses.send_raw_email(
    Source=msg['From'],
    Destinations=to_emails,
    RawMessage={'Data': msg.as_string()}
)                                                                                                       
# and send the message
print result
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

使用 Python 的 SES 附件 的相关文章

  • 分配列表的多个值

    我很想知道是否有一种 Pythonic 方式将列表中的值分配给元素 为了更清楚 我要求这样的事情 myList 3 5 7 2 a b c d something myList So that a 3 b 5 c 7 d 2 我正在寻找比手
  • Python Numpy Reshape错误[关闭]

    Closed 这个问题是无法重现或由拼写错误引起 help closed questions 目前不接受答案 我在尝试重塑 3D numpy 数组时遇到一个奇怪的错误 数组 x 的形状为 6 10 300 我想将其重塑为 6 3000 我正
  • Python设置1和True的解释

    在 IPython 3 交互式 shell 中 In 53 set2 1 2 True hello In 54 len set2 Out 54 3 In 55 set2 Out 55 hello True 2 是因为 1 和 True 得到
  • 如何在seaborn热图标签中使用科学计数法?

    我正在尝试在 python 中使用seaborn 获取热图 不幸的是 即使数字非常大 它也没有使用科学记数法 我想知道是否有任何简单的方法可以转换为科学记数法或任何其他合理的格式 这是显示问题的一段代码 import seaborn as
  • 如何使用 python、openCV 计算图像中的行数

    我想数纸张 所以我正在考虑使用线条检测 我尝试过一些方法 例如Canny HoughLines and FLD 但我只得到处理过的照片 我不知道如何计算 有一些小线段就是我们想要的线 我用过len lines or len contours
  • Python 中 time.sleep 和多线程的问题

    我对 python 中的 time sleep 函数有疑问 我正在运行一个脚本 需要等待另一个程序生成 txt 文件 虽然 这是一台非常旧的机器 所以当我休眠 python 脚本时 我遇到了其他程序不生成文件的问题 除了使用 time sl
  • 如何将 numpy rearray 的子集转换为连续数组?

    我有一个recarray来自读取 csv 文件 我有兴趣将列的子集转换为连续浮点数组 我想避免将它们转换为列表或将它们一一堆叠 我尝试了中的建议https stackoverflow com a 11792956 https stackov
  • 如何在 numpy 数组中查找并保存重复的行?

    我有一个数组 例如 Array 1 1 1 2 2 2 3 3 3 4 4 4 5 5 5 1 1 1 2 2 2 我想要输出以下内容的东西 Repeated 1 1 1 2 2 2 保留重复行的数量也可以 例如 Repeated 1 1
  • 获取 int() 参数必须是字符串或数字,而不是“Column”- Apache Spark

    如果我使用以下代码 我会收到此异常 int argument must be a string or a number not Column df df withColumn FY F when df ID substr 5 2 isin
  • 无法在我的程序中使用 matplotlib 函数

    我正在 Windows 10 中运行 Anaconda 安装 conda 版本 4 3 8 这是我尝试在 python 命令行中运行的代码 import matplotlib pyplot as plt x 1 2 3 4 y 5 6 7
  • 同一台机器上有多个Python版本?

    Python 网站上是否有关于如何在 Linux 上的同一台计算机上安装和运行多个版本的 Python 的官方文档 我可以找到无数的博客文章和答案 但我想知道是否有 标准 官方方法可以做到这一点 或者这一切都取决于操作系统 我认为它是完全独
  • Bokeh 中单独的节点和边缘悬停工具?

    我正在尝试为 Bokeh 中的节点和边缘获取单独的悬停工具提示 但未能使其正常工作 有人可以指出我做错了什么吗 我相信代码应该如下所示 from bokeh io import show output notebook from bokeh
  • 一个类似 dict 的 Python 类

    我想编写一个自定义类 其行为类似于dict 所以 我继承自dict 不过 我的问题是 我是否需要创建一个私有的dict我的成员 init 方法 我不明白这个有什么意义 因为我已经有了dict如果我只是继承自的行为dict 谁能指出为什么大多
  • Jupyter笔记本突然变得很慢

    我以前在anaconda环境下运行jupyter运行得很好 显示警告后 IOPub data rate exceeded The notebook server will temporarily stop sending output to
  • 如何全局安装 Python(开发)依赖项,以便我不必在每个 venv 中重新安装它们?

    我希望在为每个项目创建的每个 venv 虚拟环境 中都可以使用一些 Python 依赖项 例如 black flake8 和 pytest 这可能吗 如果可以 如何实现 我想安装这三个once在我的主要 Python 安装下 我必须在启动新
  • 如何处理 Tkinter 中的窗口关闭事件?

    如何在 Python Tkinter 程序中处理窗口关闭事件 用户单击 X 按钮 Tkinter 支持一种称为协议处理程序 http web archive org web 20201111215134 http effbot org tk
  • 如何在 Python 中跟踪日志文件?

    我想在 Python 中提供 tail F 或类似内容的输出 而无需阻塞或锁定 我找到了一些非常旧的代码来做到这一点here http code activestate com recipes 436477 filetailpy 但我认为现
  • Python matplotlib:将轴标签/图例从粗体更改为常规粗细

    我正在尝试制作一些出版质量的图 但遇到了一个小问题 默认情况下 matplotlib 轴标签和图例条目的权重似乎比轴刻度线重 是否有办法强制轴标签 图例条目与刻度线的重量相同 import matplotlib pyplot as plt
  • IMAP 转发器

    我想知道从 IMAP 帐户转发邮件的最快 最可靠的方法是什么 我的大学不允许我们的学生邮箱转发到私人电子邮件帐户 这里每个人都使用 Gmail 或 Hotmail 这是一个政治问题 而不是技术问题 我们确实可以通过 IMAP 访问邮箱 我想
  • OSError: [WinError 193] %1 不是有效的 Win32 应用程序,同时使用 CTypes 在 python 中读取自定义 DLL

    我正在尝试编写用 python 封装 C 库的代码 我计划使用 CTypes 来完成此操作 并使用 Visual Studio 来编译我的 DLL 我从一个简单的函数开始 在 Visual Studio 内的标头中添加了以下内容 然后将其构

随机推荐

  • 避免安全警报“您想运行此应用程序吗?”对于 JWS 应用程序

    我们有一个 Java 应用程序 它使用 RxTx 来更新游戏机的固件 为了避免当用户通过 WebStart 在我们的网站上启动 Java 应用程序时出现安全警报 我们购买了受信任的证书并用该证书对应用程序进行了签名 所有检查都表明它已成功签
  • 如何使用 jQuery 关闭对话框?

    我使用下面的代码动态创建 jQuery UI 对话框小部件 function var Selector a contains sometext Selector bind click function var NewDialog div d
  • 如何将 IEnumerable 的 IEnumerable 中的所有元素连接在一起?

    以防万一您想知道这是如何产生的 我正在使用实体框架的一些结果集 我有一个对象是IEnumerable
  • wp-admin - ERR_EMPTY_RESPONSE

    当我尝试访问我的wp admin我正在访问一些特定网站ERR EMPTY RESPONSE 这包括 插件 主题 常规设置等等 有些区域仍然可以访问 例如页面或帖子 我基本上尝试了一切 我重命名了插件文件夹和主题文件夹 但没有用 然后我删除了
  • 在 iPhone 上从下到上打开具有滑动效果的视图

    我正在为iPhone 以横向模式运行 OS 3 0 制作一个应用程序 我希望当我触摸工具栏按钮时 它会打开一个具有幻灯片效果的视图 类似于您触摸 书签 时的效果 Mobile Safari 的工具栏 从屏幕底部到顶部 该视图与按钮位于同一个
  • 当远程 git 位于非标准路径上时使用 capistrano

    我的共享主机没有提供 git 所以我将其构建并安装到 bin 中 当我运行它时 大多数命令都出现以下错误 尽管它们是成功的 stdin is not a tty 我可以通过添加以下内容来解决该问题 default run options p
  • 如何使用 angularJS 和 jqlite 测试 event.target.hasClass() ?

    单击后将事件传递给 ctrl 我想写一个条件 如果满足则返回 trueelement target有课modal click shield 问题 我该如何使用 hasClass with event target使用 AngularJS j
  • 在 C# 中以编程方式添加没有管理员权限的文件关联

    其他人也问过类似的问题 但我想澄清一下 我想在安装时构建我的应用程序而不需要管理权限 对于文件关联 我知道我需要在注册表中写入 但到目前为止我在 stackoverflow 文章中找到了两个不同的位置 HKEY CURRENT USER S
  • 不知道将java代码放在哪里以防止列混乱

    我有以下代码 我想防止列标题被重新排序 我不确定在哪里放置以下代码来执行此操作以及我需要放置的括号 如果有 table getTableHeader setReorderingAllowed false 我的代码如下 public clas
  • CocoaPods 未安装。跳过 Pod 安装

    我的应用程序运行良好 直到我做了 2 个小更改 在 Xcode 中的 Target runner 上 我为项目启用了位码 我将Android studio更新到最新版本 Android Studio 大黄蜂 2021年1月1日 内部版本 A
  • 是否应该包装类型提供程序包含在类中具有副作用的值?

    我正在尝试在我的代码中实现以下出色的建议F coding conventions page https learn microsoft com en us dotnet fsharp style guide conventions http
  • 停止监听更多监听器事件

    我听onGlobalLayoutListener如下面的代码所示 我只想听一次 一次onGlobalLayout 叫做我不想再听了 我尝试使用removeOnGlobalLayoutListener 方法 但这会发出警告调用所需的 API
  • PostgreSQL:从列值添加时间间隔到时间戳

    我需要添加来自带有时间戳的整数列的分钟以与另一列进行比较 这是一个例子 SELECT t1 id liame t1 id table t1 periodicidade t3 data extracao CASE WHEN NOW lt e
  • 获取表的最大 ID 行

    我的问题是如何获取表的最大 id 行 我正在使用 max 函数 但给我一个错误 这是我的代码 public static long getLastIdQuotaAdded Context context long id Cursor cur
  • Linux 中的管道如何工作?

    管道如何工作 如果我通过 CLI 运行一个程序并将输出重定向到一个文件 我是否能够在写入该文件时将该文件通过管道传输到另一个程序中 基本上 当一行写入文件时 我希望它立即通过管道传输到我的第二个应用程序 我正在尝试从现有程序动态绘制图表 只
  • 在 Symfony2 的配置中动态设置 BaseUrl

    我知道在 Symfony2 的配置中 没有对基本 url 的引用 因为没有请求 该应用程序可以在 cli 中运行 也可以在 Web 服务器中运行 因此我们不能依赖请求 但是 我仍然有要求样式表或 javascript 基本 url 的配置
  • 向现有用户发送验证电子邮件

    我正在开发一个具有现有用户群的网络应用程序 电子邮件验证最初并未在登录流程中实现 我已经成功添加了为所有新注册发送验证电子邮件的代码 但我还想制作一个小页面 or modal 其中将向当前用户显示一个按钮 该按钮会将验证链接发送到他们的收件
  • 文件嵌套不适用于类或共享库项目

    在 Visual Studio 2019 Web 项目中 解决方案资源管理器中的文件嵌套就像一个魅力 如果您添加一个名为ClassA cs和另一个名为ClassA Custom cs它们按照应有的方式嵌套 但对于类或共享库项目它根本不起作用
  • 字符串的排列

    public class Permute public static void main String args throws IOException System out println Enter a string BufferedRe
  • 使用 Python 的 SES 附件

    我正在使用 python 2 7 和 boto3 我无法找到在 python 中向 SES 添加附件的方法 我发现的最接近的东西是这一页 https gist github com yosemitebandit 2883593 到目前为止我