簡體   English   中英

如何構建 JSON 消息以使用 Amazon-SES 發送?

[英]How do I construct a JSON message to send with Amazon-SES?

當我嘗試通過 Amazon-SES 發送 email 時遇到以下錯誤:

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.0\n
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.0\n
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


暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM