我正在尝试使用改造库在Android中发送Mailgun POST /消息API请求。
以下是改装请求:
HTTP POST https://api:key-xxx/v3/sandboxxxx/messages
缓存控制:无缓存
内容类型:application / x-www-form-urlencoded
内容长度:148
这=激发+使用者+%3Cmailgun%40sandboxxxxmailgun.org%3E&安培;要= vir.jain%40gmail.com&安培受试者=你好&安培;文本=测试+迷死
响应:
HTTP 401 https://api:key-xxx/v3/sandboxxxx.mailgun.org/messages(1966ms)
服务器:nginx / 1.7.9
日期:2015年6月15日星期一格林威治标准时间10:00:37
内容类型:text / html;字符集= UTF-8
内容长度:9
连接:保持活力
WWW-Authenticate:Basic realm =“MG API”
OkHttp-Selected-Protocol:http / 1.1
OkHttp-Sent-Millis:1434362440805
OkHttp-Received-Millis:1434362441086
禁
当我在邮差上尝试同样的要求时,它完美地运作了电子邮件已正确发送。但是当使用Android的改装库发送失败时,使用Forbidden。
My Retrofit API: @FormUrlEncoded @POST( “/消息”) public void sendEmail(@Field(“from”)String from,@ Field(“to”)String to,@ Field(“subject”)String subject,@ Field(“text”)String text,RestCallback objectRestCallback);
基本网址是: https://api:key-xxx/v3/sandboxxxsandboxxxx.mailgun.org
所有内容都是表单URL编码。但我真的不确定出了什么问题。 任何人都可以帮我解决上述API的错误吗?
谢谢你, 马哈维亚
答案 0 :(得分:8)
我将以下授权标头与Base64编码的API密钥字符串添加到请求中,它开始工作。
request.addHeader(“授权”,“基本”+ getBase64String(“api:key-xxxYOUR-API-KEY>”));
@Selvin:非常感谢发送维基链接:)。
答案 1 :(得分:0)
您需要指定您的邮件枪区域:mg.SetAPIBase(mailgun.APIBaseEU)
// Create an instance of the Mailgun Client
mg := mailgun.NewMailgun(yourDomain, privateAPIKey)
mg.SetAPIBase(mailgun.APIBaseEU)