我试图通过他们的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
我正在开发一个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)