可以将文章内容翻译成中文,广告屏蔽插件可能会导致该功能失效(如失效,请关闭广告屏蔽插件后再试):
问题:
I am trying to take advantage of Mailgun's Transactional Email Service via their RESTful API, but I can not make it work. I am able to send emails via SMTP but i prefer to use their API.
Their documentation provides me with the following 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 <mailgun@DOMAIN>"); formData.add("to", "bar@example.com"); formData.add("to", "bar@example.com"); formData.add("subject", "Hello"); formData.add("text", "Testing some Mailgun awesomness!"); return webResource.type(MediaType.APPLICATION_FORM_URLENCODED). post(ClientResponse.class, formData); }
Obviously I need some kind of REST client to take advantage of this code, but I have not been able to find anything online that works for me. Can someone please explain to me step by step how I make this work. I am using Eclipse, JAVA EE, No Maven
回答1:
I'm developing a Java mail library to easily send email messages using Mailgun. It may fit your needs.
https://github.com/sargue/mailgun
It allows you to send messages like this:
MailBuilder.using(configuration) .to("marty@mcfly.com") .subject("This is the subject") .text("Hello world!") .build() .send();
Even file attachments are easy:
MailBuilder.using(configuration) .to("marty@mcfly.com") .subject("This message has an text attachment") .text("Please find attached a file.") .multipart() .attachment(new File("/path/to/image.jpg")) .build() .send();
There is also support for asynchronous message sending and a HTML mail helper. It is a young project, feedback is very welcome.
回答2:
You need the following dependencies:
You can download the JARs from mvnrepository and add them to your classpath.
Use the following dependencies if you should switch to Maven:
<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>
回答3:
Maybe try with this post, using basic implementation of MailGun API with Retrofit library: send mail from android without using smtp and user interaction