aws ses 自动化脚本:解析参数“--destination”时出错:预期:“=”,收到:“@”用于输入:

aws ses automation script : Error parsing parameter '--destination': Expected: '=', received: '@' for input:

我已经 reader 有一段时间了。平时自己处理事情,但今天我需要一个提示。

所以我的任务是 运行 在我的新工作(10 万观众)中以最少的预算和非常短的通知时间(明天)开展电子邮件活动。我倾向于 AWS (Amazon Web Services),因为 Amazon SES (Simple Email Service) 非常便宜,而且您只需支付您使用的费用。

尝试在命令行上使用 AWS SDK。我制作了一个小脚本来逐行读取地址文件 (.txt) 并执行发送邮件命令

#! /bin/bash

file='./test-list.txt'
from='sender@domain.com'

for line in $(<$file)
do
    #send mail
    aws ses send-templated-email --source=$from --destination=$line --template 'test' --template-data ""
done

脚本返回错误信息:

Error parsing parameter '--destination': Expected: '=', received: '@' for input:
To:recipient@domain.com

现在我不是 bash 国王,但我尝试了不同的参数公式,但没有任何方法可以消除错误。 输入文件中的每一行都是一个正确的电子邮件地址,这看起来像是一个解析问题,但我不明白。

有什么想法吗?这将有很大帮助:)

您需要为来自 https://docs.aws.amazon.com/cli/latest/reference/ses/send-templated-email.html#options

的目的地使用正确的格式

使用 send-email 的示例:

aws ses send-email --from "example.com" --destination "ToAddresses=${line}" --text "hello world!" --subject "test"

例如给出的例子:

aws ses send-templated-email --source $from --destination "ToAddresses=${line}" --template "test" --template-data ""