2017-05-09 112 views
1

我有一個節點端點接收JSON傳入電子郵件,完成從mailgun任何附件。mailgun傳入郵件事件獲取附件的URL

的附件是一個JSON陣列(xxx.com用於隱私)

attachments: '[{"url": "https://sw.api.mailgun.net/v3/domains/xxx.com/messages/eyJwIjpmYWxzZSwiayI6ImZhMTU0NDkwLWVmYzgtNDVlNi1hYWMyLTM4M2EwNDY1MjJlNCIsInMiOiI2NmU1NmMzNTIwIiwiYyI6InRhbmtiIn0=/attachments/0", "content-type": "image/png", "name": "ashfordchroming_logo.png", "size": 15667}] 

但是,如果我請在瀏覽器的網址:

https://sw.api.mailgun.net/v3/domains/xxx.com/messages/eyJwIjpmYWxzZSwiayI6ImZhMTU0NDkwLWVmYzgtNDVlNi1hYWMyLTM4M2EwNDY1MjJlNCIsInMiOiI2NmU1NmMzNTIwIiwiYyI6InRhbmtiIn0=/attachments/0

我得到

{ 
    "message": "Domain not found: xxx.com" 
} 

我想要最簡單的方式在HTML中顯示圖像附件,我希望這個URL能夠運行,因爲mailgun存儲附件。

所以我只是試圖呈現來自節點的模板中的網址。

我是否需要認證/ API密鑰證書附加到URL的前面做這個測試,使工作?

回答

1

如果您要訪問的原始JSON,去

https://sw.api.mailgun.net/v3/domains/xxx.com/messages/eyJwIjpmYWxzZSwiayI6ImZhMTU0NDkwLWVmYzgtNDVlNi1hYWMyLTM4M2EwNDY1MjJlNCIsInMiOiI2NmU1NmMzNTIwIiwiYyI6InRhbmtiIn0=/attachments/0

使用用戶名 'API' 和密碼 '您-mailgun-專用密鑰'。

爲此編程,使用請求包來讀取緩衝器。

const rp = require("request-promise"); 
 
let file = rp.get({ 
 
    uri: "attachement-url", 
 
    headers: { 
 
    "Accept": "message/rfc2822" 
 
    } 
 
}).auth("api", "your private key") 
 
/**Access the buffer here**/ 
 
file.on('data', (s => { 
 
    console.log(s) 
 
})) 
 
file.pipe(fs.createWriteStream("./my-image.jpg"))

可以通過管道將文件S3或雲桶。