forked from External/mage
[app-wiring-refactor]: Remove static initialisation
- Remove all enum static managers - Introduce interfaces for the managers - Define new application wiring class (`ManagerFactory`) - Externalise the configuration
This commit is contained in:
parent
cf3dd2d94c
commit
d0c2135e17
48 changed files with 1385 additions and 911 deletions
|
|
@ -5,29 +5,37 @@ import com.sun.jersey.api.client.ClientResponse;
|
|||
import com.sun.jersey.api.client.WebResource;
|
||||
import com.sun.jersey.api.client.filter.HTTPBasicAuthFilter;
|
||||
import com.sun.jersey.core.util.MultivaluedMapImpl;
|
||||
import javax.ws.rs.core.MediaType;
|
||||
import mage.server.util.ConfigSettings;
|
||||
import mage.server.managers.IConfigSettings;
|
||||
import mage.server.managers.IMailClient;
|
||||
import org.apache.log4j.Logger;
|
||||
|
||||
public final class MailgunClient {
|
||||
import javax.ws.rs.core.MediaType;
|
||||
|
||||
public class MailgunClient implements IMailClient {
|
||||
|
||||
private static final Logger logger = Logger.getLogger(Main.class);
|
||||
|
||||
public static boolean sendMessage(String email, String subject, String text) {
|
||||
private final IConfigSettings config;
|
||||
|
||||
public MailgunClient(IConfigSettings config) {
|
||||
this.config = config;
|
||||
}
|
||||
|
||||
public boolean sendMessage(String email, String subject, String text) {
|
||||
if (email.isEmpty()) {
|
||||
logger.info("Email is not sent because the address is empty");
|
||||
return false;
|
||||
}
|
||||
Client client = Client.create();
|
||||
client.addFilter(new HTTPBasicAuthFilter("api", ConfigSettings.instance.getMailgunApiKey()));
|
||||
String domain = ConfigSettings.instance.getMailgunDomain();
|
||||
client.addFilter(new HTTPBasicAuthFilter("api", config.getMailgunApiKey()));
|
||||
String domain = config.getMailgunDomain();
|
||||
WebResource webResource = client.resource("https://api.mailgun.net/v3/" + domain + "/messages");
|
||||
MultivaluedMapImpl formData = new MultivaluedMapImpl();
|
||||
formData.add("from", "XMage <postmaster@" + domain + '>');
|
||||
formData.add("to", email);
|
||||
formData.add("subject", subject);
|
||||
formData.add("text", text);
|
||||
ClientResponse response = webResource.type(MediaType.APPLICATION_FORM_URLENCODED).post(ClientResponse.class, formData);
|
||||
ClientResponse response = webResource.type(MediaType.APPLICATION_FORM_URLENCODED).post(ClientResponse.class, formData);
|
||||
boolean succeeded = response.getStatus() == 200;
|
||||
if (!succeeded) {
|
||||
logger.error("Error sending message to " + email + ". Status code: " + response.getStatus());
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue