2017-06-23 40 views
1

我一直在嘗試使MailGun API調用從我的項目中發送電子郵件:MailGun message sending API documentation 但是,無濟於事我似乎無法使其工作。我確實通過終端發送了一封電子郵件,發送curl命令,但是當談到Alamofire時,我被卡住了。如何使用Alamofire創建MailGun API調用?

我需要幫助翻譯該終端代碼片斷:

curl -s --user 'api:YOUR_API_KEY' \ 
    https://api.mailgun.net/v3/YOUR_DOMAIN_NAME/messages \ 
    -F from='Excited User <[email protected]_DOMAIN_NAME>' \ 
    -F [email protected]_DOMAIN_NAME \ 
    -F [email protected] \ 
    -F subject='Hello' \ 
    -F text='Testing some Mailgun awesomness!' 

要使用Alamofire的請求。

我當前的故障銀行代碼是:

let basicAuthentication = Request.authorizationHeader(user: "api", password: "mySecretApiKey") 

     let headers: HTTPHeaders = [(basicAuthentication?.key)!: (basicAuthentication?.value)!] 
     let parameters: Parameters? = ["from": "[email protected]_DOMAIN_NAME", 
             "to": "[email protected]", 
             "subject": "Hello There!", 
             "text": "This is sent from within a Swift project!"] 


     Alamofire.request("https://api.mailgun.net/v3/YOUR_DOMAIN_NAME/messages", method: .post, parameters: parameters, encoding: JSONEncoding.default, headers: headers).responseJSON{ response in 
      print(response) 
     } 

任何幫助將非常感激!

回答

2

我還沒有試過你的代碼,但至少你的編碼是錯誤的。您正在將您的身體編碼爲JSON,並且curl代碼正在使用表單。 URLEncoding.default應該是編碼參數的正確值。之後,如果它仍然中斷,請調試響應。我建議你下載Charles代理以查看請求是否捲曲併發送iOS應用程序以及如何發送。

+1

你是我的英雄!編碼錯了!謝謝。 –

+2

@ A.Jam很高興能幫到你。如果您打算進行網絡通話,我仍建議您查看查爾斯。我真的不明白人們如何在沒有它或類似工具的情況下有效地調試任何網絡電話。 –

+1

我肯定。看起來像一個方便的工具! –