Java在mailgun中发送多个文件附件

Ahm*_*eeb 7 java spring mailgun

我正在尝试使用 mailgun 发送电子邮件,并在此电子邮件中附加两个或更多文件:

public static JsonNode sendComplexMessage() throws UnirestException {

        HttpResponse<JsonNode> request = Unirest.post("https://api.mailgun.net/v3/" + YOUR_DOMAIN_NAME + "/messages")
                .basicAuth("api", API_KEY)
                .queryString("from", "Excited User <USER@YOURDOMAIN.COM>")
                .queryString("to", "alice@example.com")
                .queryString("cc", "bob@example.com")
                .queryString("bcc", "joe@example.com")
                .queryString("subject", "Hello")
                .queryString("text", "Testing out some Mailgun awesomeness!")
                .queryString("html", "<html>HTML version </html>")
                .field("attachment", new File("/temp/folder/test.txt"))
                .asJson();

        return request.getBody();
Run Code Online (Sandbox Code Playgroud)

这个例子来自 Mailgun Docs,但它只发送单个文件。我需要发送多封电子邮件。

任何帮助表示赞赏。

Mik*_*yez 4

不要放置单个文件对象,而是放置一个文件数组列表,它的工作方式如下:

.field("attachment", Arrays.asList(file1,file2))
Run Code Online (Sandbox Code Playgroud)

您可以创建一个列表,通过循环迭代它,然后发送它

List<File> listFiles=new ArrayList<>();
// fill it

.field("attachment", listFiles)
Run Code Online (Sandbox Code Playgroud)