我如何构建一个JSON消息发送与亚马逊- ses ?



当我尝试通过Amazon-SES发送电子邮件时,我遇到了以下错误:

Error parsing parameter '--raw-message': Invalid JSON: Expecting property name enclosed in double quotes: line 1 column 2 (char 1)

我不明白我在哪里搞砸了JSON消息…

这是我使用的bash脚本:

echo '{"Data": 
"Subject:'${SUBJECT}'\n
MIME-Version: 1.0n
Content-type: Multipart/Mixed; 
boundary="NextPart"\n\n--NextPart\n
Content-Type: text/plain\n\n'${BODY}'
\n\n--NextPart
\nContent-Type:'${ATTACHMENT_TYPE}';
nContent-Disposition: attachment; 
filename="'${ATTACHMENT_FILE_NAME}'"\n
\n'$(cat ./${ATTACHMENT_FILE_TO_READ_FROM_DISK})'
\n--NextPart--"}' > "$tmp_message"
aws ses send-raw-email --region us-east-1 --from sender@gmail.com --destination file://$tmp_destination --raw-message file://"$tmp_message"

使用jq验证json是否正确

#! /bin/bash
echo '{"Data": 
"Subject:'${SUBJECT}'\n
MIME-Version: 1.0n
Content-type: Multipart/Mixed; 
boundary="NextPart"\n\n--NextPart\n
Content-Type: text/plain\n\n'${BODY}'
\n\n--NextPart
\nContent-Type:'${ATTACHMENT_TYPE}';
nContent-Disposition: attachment; 
filename="'${ATTACHMENT_FILE_NAME}'"\n
\n'$(cat ./${ATTACHMENT_FILE_TO_READ_FROM_DISK})'
\n--NextPart--"}' > "$tmp_message"
if jq < "$tmp_message"; then
aws ses send-raw-email --region us-east-1 --from sender@gmail.com --destination file://"$tmp_destination" --raw-message file://"$tmp_message"
else
echo "ERROR" >&2
fi

最新更新