0

JavaMail APIを使用して添付ファイルを送信しようとしていますが、動作しません。私が犯している間違いを教えてください。ファイルABC.pdfはプロジェクトの同じファイルにあります。最初のsysoutの「s」で正しいパスを取得します。プログラムが2番目のsysoutに到達することはありません。メールIDのIDを「トライアル」に置き換えます。助けてください

Message message = new MimeMessage(session);
        message.setSubject("Trial Messages");
        message.setFrom(new InternetAddress("trial@gmail.com"));
        message.setRecipients(Message.RecipientType.TO, InternetAddress.parse("trial@yahoo.co.in"));

        MimeBodyPart body = new MimeBodyPart();
        body.setText(content);;
        Multipart part = new MimeMultipart();

        part.addBodyPart(body);

        File f = new File("ABC.pdf");
        String s = f.getAbsolutePath();

        System.out.printf(s);

        DataSource source = new FileDataSource(s);
        body.setDataHandler(new DataHandler(source));
        body.setFileName("ABC Bill");
        part.addBodyPart(body);

        System.out.printf(s);
        Transport.send(message);

        System.out.printf(s);
4

1 に答える 1

1

交換してみてください

body.setFileName("ABC Bill");

body.setFileName(source.getName());

ここでsource.getName()をsysoutに渡して、すべてが正しいかどうか(正しいファイル名)を確認することができます。

//マルチパートをメッセージに追加します

message.setContent(part);

part.addBodyPart(body);2回追加したので削除します

Message message = new MimeMessage(session);
        message.setSubject("Trial Messages");
        message.setFrom(new InternetAddress("trial@gmail.com"));
        message.setRecipients(Message.RecipientType.TO, InternetAddress.parse("trial@yahoo.co.in"));

        MimeBodyPart body = new MimeBodyPart();
        body.setText(content);;
        Multipart part = new MimeMultipart();


        File f = new File("ABC.pdf");
        String s = f.getAbsolutePath();

        System.out.printf(s);

        DataSource source = new FileDataSource(s);
        body.setDataHandler(new DataHandler(source));
        body.setFileName("ABC Bill");
        part.addBodyPart(body);

        message.setContent(part);
        System.out.printf(s);
        Transport.send(message);

        System.out.printf(s);
于 2013-02-09T09:15:41.970 に答える