Mandrill-附件不发送附件
问题描述:
我试图通过Mandrill发送一个小的RTF附件。我已经创建了以下json并使用API测试页面进行了尝试。该附件是base 64编码的。该API报告没有错误,并且电子邮件通过但没有附件。我究竟做错了什么?Mandrill-附件不发送附件
{
"attachments": [
{
"type": "application/rtf",
"name": "test.rtf",
"content": "e1xydGYxXGFuc2lcYW5zaWNwZzEyNTJcZGVmZjBcZGVmbGFuZzIwNTd7XGZvbnR0Ymx7XGYwXGZuaWxcZmNoYXJzZXQwIENhbGlicmk7fX0NCntcKlxnZW5lcmF0b3IgTXNmdGVkaXQgNS40MS4yMS4yNTEwO31cdmlld2tpbmQ0XHVjMVxwYXJkXHNhMjAwXHNsMjc2XHNsbXVsdDFcbGFuZzlcZjBcZnMyMiB0aGlzIGlzIGEgdGVzdCBzZW5kaW5nIGZpbGVccGFyDQp9DQoA"
}
],
"message": {
"html": "<html>\r\n<body>test data</body>\r\n</html>\r\n",
"subject": "Cloud Demo",
"from_email": "[email protected]",
"preserve_recipients": true,
"text": "",
"to": [
{
"type": "to",
"name": "",
"email": "[email protected]"
}
],
"from_name": "",
"headers": {
"reply-to": "[email protected]"
}
},
"key": #mykey#,
"async": false
}
答
附件是消息对象的一部分,所以所述附件参数应消息下,而不是在相同的水平嵌套。它应该看起来像这样:
{
"message": {
"attachments": [
{
"type": "application/rtf",
"name": "test.rtf",
"content": "e1xydGYxXGFuc2lcYW5zaWNwZzEyNTJcZGVmZjBcZGVmbGFuZzIwNTd7XGZvbnR0Ymx7XGYwXGZuaWxcZmNoYXJzZXQwIENhbGlicmk7fX0NCntcKlxnZW5lcmF0b3IgTXNmdGVkaXQgNS40MS4yMS4yNTEwO31cdmlld2tpbmQ0XHVjMVxwYXJkXHNhMjAwXHNsMjc2XHNsbXVsdDFcbGFuZzlcZjBcZnMyMiB0aGlzIGlzIGEgdGVzdCBzZW5kaW5nIGZpbGVccGFyDQp9DQoA"
}
],
"html": "<html>\r\n<body>test data</body>\r\n</html>\r\n",
....
谢谢,你是对的。如果Mandrill发回错误而不是忽略它,那将会很好。 – Movak 2014-10-13 15:26:51
我们可以肯定地看着更多的验证,但它通常不是一个错误 - 它是一个未知的参数,我们将忽略它。对于我们实际支持的参数,当您不调用呼叫时,我们至少会进行最小限度的验证。 – Kaitlin 2014-10-17 15:07:25
抱歉,将参数放在json的错误位置是一个错误,因为它不会产生所需的效果。对我而言,每当系统发生异常时,如忽略参数,都应该报告。 – Movak 2014-10-18 18:38:27