2015-09-07 87 views
3

我們正在將我們的電子郵件應用程序與SparkPost進行整合。我們唯一的問題是從SparkPost獲取退回電子郵件,以排除他們未來的郵件。我們的應用程序直接從郵件服務器檢索退回電子郵件。當用戶在我們的軟件中使用SparkPost SMTP設置時,他無法檢索並處理退回電子郵件,因爲SparkPost不會將退回郵件轉發到用戶的退回電子郵件地址。如何在不使用webhooks的情況下從SparkPost反彈電子郵件?

Webhooks不適合我們,因爲它們只能實時提取數據。如果我們的軟件在退回郵件到達時被關閉,則反彈將不會被捕獲,並且會因爲我們的軟件而丟失,因爲以後無法恢復。

因此,請讓我知道是否有方法通過API或通過電子郵件像Amazon SES那樣從SparkPost獲取反彈電子郵件。 Amazon SES只會將退回電子郵件轉發到我們的應用程序中用戶指定的電子郵件地址(郵件標題中的退回電子郵件標題字段)。

回答

5

如果你不能接受通過HTTP類似事件網絡掛接,甚至我們的中繼網絡掛接推送的數據,下一個最好的事情是我們的消息事件API(https://www.sparkpost.com/api#/reference/message-events/message-events/search-for-message-events

你可以做一個請求,只得到了最後一小時反彈像這樣:

https://api.sparkpost.com/api/v1/message-events?events=bounce,out_of_band

如果你想更具體的時間範圍剛從/添加一個,以及一個時區,如果你需要的是:

https://api.sparkpost.com/api/v1/message-events?from=2015-09-10T00:00&to=2015-09-10T23:59&timezone=America/New_York

+0

嗨羅伯特, 謝謝您的答覆。 我們提出了這樣的要求 https://api.sparkpost.com/api/v1/message-events?events=bounce&from=2015-01-10T00:00&to=2015-09-10T23:59&timezone=America/ New_York 並得到了下面雖然我們已經在我們的控制檯5個彈跳響應: { 「成果」:[], 「TOTAL_COUNT」:0, 「鏈接」:[] } 請讓我們知道我們做錯了什麼。 – Alex

+0

我看不到查詢參數,因爲它在您的評論中被截斷。那個結果意味着在您的查詢參數中指定的時間範圍內沒有事件。如果你忽略和去,它默認爲最後一小時 –

+0

嗨羅伯特,這裏是完整的請求: 'https://api.sparkpost.com/api/v1/message-events?events=bounce&from=2015- 01-10T00:00&到= 2015-09-10T23:59&timezone = America/New_York' – Alex

1

我寫了下面的Ruby代碼,讓他們爲CSV:

require 'net/http' 
require 'json' 
require 'csv' 

uri = URI('https://api.sparkpost.com/api/v1/message-events?events=bounce,out_of_band') 
req = Net::HTTP::Get.new(uri) 
req['Content-Type'] = 'application/json' 
req['Authorization'] = ENV['API_KEY'] || raise('please provide API_KEY env variable') 

res = Net::HTTP.start(uri.host, uri.port, use_ssl: true) do |https| 
    https.request(req) 
end 

bounces = JSON.parse(res.body)['results'] 
puts "#{bounces.count} bounces found" 

CSV.open("bounces.csv", "wb") do |csv| 
    csv << %w(Timestamp Recipient Reason) 
    bounces.each do |bounce| 
    csv << [bounce['timestamp'], bounce['rcpt_to'], bounce['reason']] 
    end 
end 

可作爲依據的位置:https://gist.github.com/schmijos/05d2f989c7a5854fe2cd31c666f61c39

相關問題