2016-05-23 16 views
0

拡張子が.rtfのファイルをメール添付ファイルとして取得しようとしています。私は私の郵便受けにそれを手に入れることができない。javaMailで.rtfファイルを送信する

私が現在使用してコード

try 
{ 
    Message msg = new MimeMessage(session); 
    msg.setFrom(); // this is filled in but hidden for this question 
    msg.addRecipient();// this is filled in but hidden for this question 
    msg.setSubject("test email"); 
    msg.setText("body test content"); 
    msg.setSentDate(new Date()); 
    Multipart multipart = new MimeMultipart(); 
    MimeBodyPart messageBodyPart = new MimeBodyPart(); 
    FileDataSource source = new FileDataSource(receiveFile); 

    messageBodyPart.setDataHandler(new DataHandler(source)); 
    messageBodyPart.attachFile(backupFile); 
    messageBodyPart.setFileName("reportFile.rtf"); 
    multipart.addBodyPart(messageBodyPart); 
    msg.setContent(multipart); 
    Transport.send(msg); 
} 

receiveFileは添付ファイルとして送信する必要が問題になっているRTFファイルです。

サーバーの設定などを気にしないでください。私はこのコードを使用して電子メールを送信するので、すべてうまく動作します:) .txtファイルや.docファイルも正常に送信されているため、情報が正しいことがわかります。 reportFile.rtfとしてメールを送信しようとすると、メールが到着しません。私は2つのシステム(データハンドラ+ソースパスとattachFileパス)を2つ試してみましたが、どちらも本当に私が望むものを私に与えませんでした。

javaMailを使用してrtfファイルを添付ファイルとして使用できますか、間違った方向を探していますか?

+0

メッセージは正常に送信されたものの、到着しない場合は、JavaMailプログラムではなくサーバーに問題があります。おそらく、サーバーはメッセージをスパムメッセージとして解釈していますか?メッセージの迷惑メールフォルダを確認しましたか? msg.setContextは、msg.setTextで設定したメッセージのテキスト内容を置き換えます。代わりに、メッセージのメインテキストコンテンツを、作成したマルチパートの最初の本文部分として設定し、添付ファイルを2番目の本文部分として設定する必要があります。 –

+0

ええ、私は迷惑メールフォルダなどをチェックしています:)私は私の質問で述べたように、私は添付ファイルなしでこのようなメールを送信し、txtやdocなどの書類を添付してメールを送信します。私のサーバー情報がすべて正しいことを知っている...私のsuccesfull添付ファイルと唯一の違いは唯一の違いは、失敗はtempフォルダに格納されている新しく生成されたものを使用していて、私は〜のようなものだった。私の文書フォルダ。 javaMailが実際にあなたのPCに保存されていないファイルで奇妙に動作することはありますか? –

+0

[JavaMailデバッグ出力](http://www.oracle.com/technetwork/java/javamail/faq/index.html#debug)は、メッセージが例外なく正常に送信されていることを示しています。 FileDataSourceを使用するには、ファイル**は実際にはPC(またはネットワークアクセス可能なファイルシステム)に保存する必要があります。 tempフォルダに保存されています。 Transport.sendがmsg.writeTo(new FileOutputStream( "msg.txt"));を使用する前に、メッセージが正しく構築されていることを証明する。 msg.txtファイルを調べます。または、JavaMailデバッグ出力をオンにします。 –

答えて

0

私は同僚とより密接に見て、私が送信者として使用した電子メールがスパムとして混乱し、それを迷惑メールフォルダに投棄したことを認識しました。今はそれ自体がテストで問題ないので問題はありません。しかし、あなたがそのアドレスでスパムし続けると、実際にメールサーバーが送信しているメールのかなりの割合をブロックしているように見えます。だから、時には終わってしまったり、しなかったりして、デバッグが難しくなったのです。問題は今解決されました。

関連する問題