2015-03-14 7 views
7

Ich versuche, Mailguns Transactional Email Service über ihre RESTful API zu nutzen, aber ich kann es nicht funktionieren lassen. Ich kann E-Mails über SMTP senden, aber ich bevorzuge ihre API.Java REST Mailgun

Die Dokumentation gibt mir den folgenden Code:

public static ClientResponse SendSimpleMessage() { 
     Client client = Client.create(); 
     client.addFilter(new HTTPBasicAuthFilter("api", 
         "key-*****")); 
     WebResource webResource = 
       client.resource("https://api.mailgun.net/v2/DOMAIN" + 
           "/messages"); 
     MultivaluedMapImpl formData = new MultivaluedMapImpl(); 
     formData.add("from", "Excited User <[email protected]>"); 
     formData.add("to", "[email protected]"); 
     formData.add("to", "[email protected]"); 
     formData.add("subject", "Hello"); 
     formData.add("text", "Testing some Mailgun awesomness!"); 
     return webResource.type(MediaType.APPLICATION_FORM_URLENCODED). 
       post(ClientResponse.class, formData); 
} 

Offensichtlich ich eine Art von REST-Client benötigen Vorteil dieses Codes zu nehmen, aber ich habe nicht in der Lage gewesen, etwas online zu finden, das funktioniert für mich. Kann mir bitte jemand Schritt für Schritt erklären, wie ich das mache. Ich bin mit Eclipse, Java EE, No Maven

Antwort

1

Sie müssen die folgenden Abhängigkeiten:

Sie können die JARs von mvnrepository herunterladen und sie Ihrem Klassenpfad hinzufügen.

die folgenden Abhängigkeiten verwenden, wenn Sie Maven wechseln sollten:

<dependency> 
    <groupId>com.sun.jersey</groupId> 
    <artifactId>jersey-core</artifactId> 
    <version>1.19</version> 
</dependency> 
<dependency> 
    <groupId>com.sun.jersey</groupId> 
    <artifactId>jersey-client</artifactId> 
    <version>1.19</version> 
</dependency> 
<dependency> 
    <groupId>com.sun.jersey.contribs</groupId> 
    <artifactId>jersey-multipart</artifactId> 
    <version>1.19</version> 
</dependency> 
+0

Vielen Dank für Ihre Antwort. Ich benutze Maven nicht und ich habe nicht die Absicht, Maven zu benutzen. Gibt es eine Möglichkeit, dies ohne Maven zu implementieren? – user3586514

+1

Sie können den Links zu mvnrepository folgen. Klicken Sie dann auf die neueste Version, z. B. "1.19", und klicken Sie dann auf "Download (JAR)". Fügen Sie schließlich die JAR dem Klassenpfad Ihres Projekts hinzu. –

7

Ich entwickle eine Java-Mail Bibliothek zum einfachen Senden von E-Mail-Nachrichten mit Mailgun. Es kann Ihren Bedürfnissen entsprechen.

https://github.com/sargue/mailgun

Es ermöglicht Ihnen Meldungen wie diese senden:

MailBuilder.using(configuration) 
    .to("[email protected]") 
    .subject("This is the subject") 
    .text("Hello world!") 
    .build() 
    .send(); 

Auch Dateianhänge sind einfach:

MailBuilder.using(configuration) 
    .to("[email protected]") 
    .subject("This message has an text attachment") 
    .text("Please find attached a file.") 
    .multipart() 
    .attachment(new File("/path/to/image.jpg")) 
    .build() 
    .send(); 

Es kann auch für die asynchrone Nachricht unterstützen sendet und eine HTML-Mail Helfer. Es ist ein junges Projekt, Feedback ist sehr willkommen.

+0

Ist es möglich, E-Mails mit Thymeleaf und Ihrer Bibliothek zu versenden? –

+0

Thymeleaf scheint eine Vorlagenmaschine zu sein. Ich sehe die Beziehung nicht, sorry. – sargue