0

Apache commons-mail (v1.3.2) を使用して、PDF を添付した注文確認メールを送信します。電子メールは Outlook (Web とデスクトップの両方) では問題なく表示されますが、Gmail アカウントに送信すると、メールの内容が空になり、Html コンテンツが別のファイル "noname.html" に添付されます。

私のコード:

       // Create mail instance using commons-mail and the hybris MailUtility class.
        HtmlEmail htmlEmail = (HtmlEmail) MailUtils.getPreConfiguredEmail(); // creates a mail instance with set mail
        htmlEmail.setCharset("UTF-8");
        htmlEmail.setHtmlMsg("this is <b>html text</b>);

        // Part two is attachment
            DataSource ds = new ByteArrayDataSource(mailAttachment.getData(), "application/pdf");
            htmlEmail.attach(ds, "attach.pdf", "generalconditions", EmailAttachment.ATTACHMENT);
        }

        //send mail
        htmlEmail.send();

当初、この問題は Outlook でも発生していましたが、commons-mail v1.1 から v1.3.2 に切り替えて修正しました。ただし、gmailはまだ修正されていません...

4

1 に答える 1

1

使用する必要があります

EmailAttachment attachment = new EmailAttachment();
attachment.setPath(pdfFile.getPath());
attachment.setDisposition(EmailAttachment.ATTACHMENT);

次に、次のようにメールに添付します。

htmlEmail.attach(attachment);
于 2015-08-03T13:30:25.043 に答える