Java REST Mailgun

use*_*514 8 java rest mailgun

我试图通过他们的RESTful API利用Mailgun的交易电子邮件服务,但我无法使其工作.我可以通过SMTP发送电子邮件,但我更喜欢使用他们的API.

他们的文档为我提供了以下代码:

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);
}
Run Code Online (Sandbox Code Playgroud)

显然我需要某种REST客户端来利用这段代码,但我无法在网上找到任何适合我的东西.有人可以一步一步地向我解释我是如何做这项工作的.我正在使用Eclipse,JAVA EE,No Maven

sar*_*gue 8

我正在开发一个Java邮件库,以便使用Mailgun轻松发送电子邮件.它可能适合您的需求.

https://github.com/sargue/mailgun

它允许您发送这样的消息:

MailBuilder.using(configuration)
    .to("marty@mcfly.com")
    .subject("This is the subject")
    .text("Hello world!")
    .build()
    .send();
Run Code Online (Sandbox Code Playgroud)

甚至文件附件也很简单:

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();
Run Code Online (Sandbox Code Playgroud)

还支持异步消息发送和HTML邮件助手.这是一个年轻的项目,非常欢迎反馈.


小智 1

您需要以下依赖项:

您可以从 mvnrepository 下载 JAR 并将它们添加到您的类路径中。

如果您应该切换到 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>
Run Code Online (Sandbox Code Playgroud)