连接到 Mailgun
Connection to Mailgun
我正在尝试使用我的凭据连接到 Mailgun.com。这是代码:
let session = URLSession.shared
var request = URLRequest(url: URL(string:"https://api.mailgun.net/v3/sandboxXXX.mailgun.org/logs")!)
request.httpMethod = "POST"
let key = "api:key-XXX"
request.setValue("Basic \(toBase64(string: key))", forHTTPHeaderField: "Authorization")
let task = session.dataTask(with: request, completionHandler:{(data, response, error) in
if let err = error {
print(err)
}
if let response = response {
print("url = \(response.url!)")
print("response = \(response)")
let httpResponse = response as! HTTPURLResponse
print("response code = \(httpResponse.statusCode)")
}
})
task.resume()
结果:响应代码 = 200 - 一切正常
在我尝试连接到 mailgun 之后。com/xxx/messages
let session = URLSession.shared
var request = URLRequest(url: URL(string:"https://api.mailgun.net/v3/sandboxXXX.mailgun.org/messages")!)
request.httpMethod = "POST"
let data = "from=Excited%20User<mailgun@sandboxXXX.mailgun.org>&to=[mail@mail.com]&subject=Hello&text=Testing%20gsome%20Mailgun%20awesomness!"
let key = "api:key-XXX"
request.httpBody = data.data(using: .ascii)
request.setValue("Basic \(toBase64(string: key))", forHTTPHeaderField: "Authorization")
let task = session.dataTask(with: request, completionHandler:
{(data, response, error) in {
// the same as above
})
task.resume()
结果:响应代码 = 400 或 401。
我有红色:How to send POST parameters in Swift?。
我尝试多次更改 data
和 request.httpBody
中的字符串编码 - 但没有任何效果。我应该怎么做才能解决这个问题?
不要使用方括号就没有必要了(民间智慧):)
应该是:
let data = "from=Excited%20User<mailgun@sandboxXXX.mailgun.org>
&to=mail@mail.com //!!! instead of [mail@mail.com] in the original code
&subject=Hello
&text=Testing%20gsome%20Mailgun%20awesomness!"
我正在尝试使用我的凭据连接到 Mailgun.com。这是代码:
let session = URLSession.shared
var request = URLRequest(url: URL(string:"https://api.mailgun.net/v3/sandboxXXX.mailgun.org/logs")!)
request.httpMethod = "POST"
let key = "api:key-XXX"
request.setValue("Basic \(toBase64(string: key))", forHTTPHeaderField: "Authorization")
let task = session.dataTask(with: request, completionHandler:{(data, response, error) in
if let err = error {
print(err)
}
if let response = response {
print("url = \(response.url!)")
print("response = \(response)")
let httpResponse = response as! HTTPURLResponse
print("response code = \(httpResponse.statusCode)")
}
})
task.resume()
结果:响应代码 = 200 - 一切正常
在我尝试连接到 mailgun 之后。com/xxx/messages
let session = URLSession.shared
var request = URLRequest(url: URL(string:"https://api.mailgun.net/v3/sandboxXXX.mailgun.org/messages")!)
request.httpMethod = "POST"
let data = "from=Excited%20User<mailgun@sandboxXXX.mailgun.org>&to=[mail@mail.com]&subject=Hello&text=Testing%20gsome%20Mailgun%20awesomness!"
let key = "api:key-XXX"
request.httpBody = data.data(using: .ascii)
request.setValue("Basic \(toBase64(string: key))", forHTTPHeaderField: "Authorization")
let task = session.dataTask(with: request, completionHandler:
{(data, response, error) in {
// the same as above
})
task.resume()
结果:响应代码 = 400 或 401。
我有红色:How to send POST parameters in Swift?。
我尝试多次更改 data
和 request.httpBody
中的字符串编码 - 但没有任何效果。我应该怎么做才能解决这个问题?
不要使用方括号就没有必要了(民间智慧):)
应该是:
let data = "from=Excited%20User<mailgun@sandboxXXX.mailgun.org>
&to=mail@mail.com //!!! instead of [mail@mail.com] in the original code
&subject=Hello
&text=Testing%20gsome%20Mailgun%20awesomness!"