2014-10-10 73 views
0

我試圖通過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 

}

回答

2

附件是消息對象的一部分,所以所述附件參數應消息下,而不是在相同的水平嵌套。它應該看起來像這樣:

{ 
    "message": { 
     "attachments": [ 
      { 
       "type": "application/rtf", 
       "name": "test.rtf", 
       "content": "e1xydGYxXGFuc2lcYW5zaWNwZzEyNTJcZGVmZjBcZGVmbGFuZzIwNTd7XGZvbnR0Ymx7XGYwXGZuaWxcZmNoYXJzZXQwIENhbGlicmk7fX0NCntcKlxnZW5lcmF0b3IgTXNmdGVkaXQgNS40MS4yMS4yNTEwO31cdmlld2tpbmQ0XHVjMVxwYXJkXHNhMjAwXHNsMjc2XHNsbXVsdDFcbGFuZzlcZjBcZnMyMiB0aGlzIGlzIGEgdGVzdCBzZW5kaW5nIGZpbGVccGFyDQp9DQoA" 
      } 
     ], 
     "html": "<html>\r\n<body>test data</body>\r\n</html>\r\n", 

.... 
+0

謝謝,你是對的。如果Mandrill發回錯誤而不是忽略它,那將會很好。 – Movak 2014-10-13 15:26:51

+0

我們可以肯定地看着更多的驗證,但它通常不是一個錯誤 - 它是一個未知的參數,我們將忽略它。對於我們實際支持的參數,當您不調用呼叫時,我們至少會進行最小限度的驗證。 – Kaitlin 2014-10-17 15:07:25

+0

抱歉,將參數放在json的錯誤位置是一個錯誤,因爲它不會產生所需的效果。對我而言,每當系統發生異常時,如忽略參數,都應該報告。 – Movak 2014-10-18 18:38:27