После полного и полного отказа от реализации кода с помощью Retrofit я использовал класс HttpURLConnection для Android, чтобы попытаться отправить электронное письмо через MailGun. Однако, что бы я ни делал, я возвращаю ошибку 400 с ошибкой. Я не знаю, что я делаю неправильно - похоже, что код работает отлично в iOS. 4 строки, прокомментированные, не имеют никакого значения. Hardcoding значения для from и to также не исправляли его. Я также попытался использовать application/json для Content-Type. Любые указатели в правильном направлении были бы оценены!Постоянная ошибка MailGun Android HttpUrlConnection 400
URL u = new URL("https://api.mailgun.net/v3/companyname.com/messages");
HttpURLConnection restConnection = (HttpURLConnection) u.openConnection();
restConnection.setRequestMethod("POST");
String authHeader = "Basic " + Base64.encodeToString(apiKey.getBytes(), Base64.DEFAULT);
restConnection.setRequestProperty("Authorization", authHeader);
restConnection.setRequestProperty("Content-Type", "application/x-www-form-urlencoded");
restConnection.setRequestProperty("from", "Company Name <[email protected]>");
restConnection.setRequestProperty("to", "[email protected]");
restConnection.setRequestProperty("subject", "test");
restConnection.setRequestProperty("text", "test");
//restConnection.setUseCaches(false);
//restConnection.setAllowUserInteraction(false);
//restConnection.setConnectTimeout(10000);
//restConnection.setReadTimeout(10000);
restConnection.connect();
int status = restConnection.getResponseCode();
Вы пробовали запрос отдельно от вашего кода? правильно ли оно вернулось? – Roljhon
Вероятно, как вы определяете свой API, ошибка 400 означает, что ваши параметры запроса не могут быть поняты сервером – Roljhon