0

apache commons ライブラリを使用した添付ファイルの .INLINE 部分に関する簡単な質問です。

基本的に、私が間違っていなければ、次のように書かれるべきであるメッセージの本文内の上記の部分を示すメールでExcelシートの一部を送信することになっています:

attachment.setDisposition(EmailAttachment.INLINE);

ここに問題があります。私のコードでは、添付ファイルのみの添付ファイルを簡単に送信できますそれらが画像の場合は、インラインで配置することもできます。

Apache POI を使用してフォーマットされているため、xml ファイルの一部を取得する方法はありますか? (VBAに関する同様のトピックを見つけました-Excelですが、これをプログラム内に実装する必要があります..また、POIのおかげで非常に見栄えが良いので、可能であればフォーマットされた選択を送信したいと思います.. )

最終結果はメール本文に出てくるxmlファイルの選択セルをコピペしたようなものになるはずなのですが、画像ではないので.INLINE文だけだと正しく表示されません.. JTable コンポーネントのスナップショットを作成しようとしても、有用な結果は得られませんでした。

役立つ場合は、電子メールを送信するコードを次に示します。

class SendEmail {
    public SendEmail() {

        // Create the attachment
        EmailAttachment attachment = new EmailAttachment();
        attachment.setPath("pathToFile");
        attachment.setDisposition(EmailAttachment.INLINE);
        attachment.setDescription("Xml File");
        attachment.setName("file.ods);

        // Create the email message
        MultiPartEmail email = new MultiPartEmail();
        email.setHostName("smtp.googlemail.com");
        email.setSmtpPort(587);
        email.setAuthenticator(new DefaultAuthenticator(
                "gmailAccount", "gmailAccountPwd"));
        email.setSSL(true);

        try {
            email.addTo("toRecipient");

            email.setFrom("fromRecipient");

            email.setSubject("Attached Mail Test");
            email.setMsg("This line should be followed by something..hopefully");

            // add the attachment
            email.attach(attachment);
            email.setTLS(true);

            // send the email
            email.send();

        } catch (EmailException e) {
            e.printStackTrace();
        }
    }
}

PS: 添付の添付ファイルやインライン イメージを送信しても問題ないことに注意してください..これは apache commons の制限ですか? (後者はトピックの外にまだ立っていますが、XD)

4

0 に答える 0