JavaMailAPI Bug

JarJarBinks

Mitglied
Hallo liebes Forum,

ich habe ein Problem mit der JavaMailAPI.
Und zwar geht es darum, dass bei der Version 1.5.5 sämtliche Dateinamen, die länger als 60Zeichen sind, abgeschnitten werden und in filename*0 und filename*1 gespeichert werden(siehe Anhänge).

Wenn ich nämlich nach Erhalt genau dieser Mail, den Anhang dieser wieder über einen anderen Code exportiere, kommt es dazu, dass ich über .getFileName() nur den Dateinamen aus filename*0 bekomme und somit die Datei fehlerhaft abgespeichert wird.
Dieses Problem tritt in älteren Versionen von JavaMail nicht auf.

Ist jemandem von euch dieses Problem schon bekannt? Gibt es vielleicht Properties die zusätzlich gesetzt werden müssen?

Der Code ist in beiden Fällen derselbe:

Java:
    Properties props = new Properties();
    props.put("mail.smtp.host", "smtpHost");
    props.put("mail.smtp.auth", "false");
    props.put("mail.smtp.ehlo", "true");
    props.put("mail.debug", "true");
    props.put("mail.smtp.port", "25");

    Session session = Session.getInstance(props, null);
    session.setDebug(true);
  
    try
    {
      Message message = new MimeMessage(session);

      message.setFrom(new InternetAddress("eineEmail"));

      message.setRecipients(Message.RecipientType.TO,
              InternetAddress.parse("meineEmail"));

      message.setSubject("Dies ist der Betreff");

      BodyPart messageBodyPart = new MimeBodyPart();
      messageBodyPart.setText("Test");
    
      Multipart multipart = new MimeMultipart();
      multipart.addBodyPart(messageBodyPart);
      messageBodyPart = new MimeBodyPart();
      String filename = "C:\\Users\\MeinName\\Desktop\\3001350_SAMMELRECHNUNG_2488416_19.10.2016.PDF";

      DataSource source = new FileDataSource(filename);

      messageBodyPart.setDataHandler(new DataHandler(source));
      messageBodyPart.setFileName("3001350_SAMMELRECHNUNG_2488416_19.10.2016TestTestTesTestTestTest.PDF");
      multipart.addBodyPart(messageBodyPart);

      message.setContent(multipart);

      Transport.send(message);

Gruß
JarJar
 

Anhänge

  • exportFiles.jpg
    112,8 KB · Aufrufe: 16
  • Version1.3.2.jpg
    107,1 KB · Aufrufe: 17
  • Version1.5.5.jpg
    145,8 KB · Aufrufe: 17

X5-599

Top Contributor
Hier habe ich was gefunden, was helfen könnte: http://stackoverflow.com/questions/30628139/set-mail-strictly-mime-parm-folding-in-javamail.

Code:
System.setProperty("mail.mime.encodeparameters", "false");
evtl auch das noch dazu:
Code:
System.setProperty("mail.mime.encodefilename", "true");

Was diese Parameter nun genau bewirken weiss ich nicht. Vielleicht findet sich ja eine Erklärung durch etwas googlen. Weiterhin, viel Erfolg.
 

JarJarBinks

Mitglied
Hey,

Erstmal vielen Dank für deine Antwort!
Den Post habe ich auch schon gesehen, dieser hat mein Problem aber leider nicht lösen können.
Habe auch schon Stunden mit googlen verbracht.

Schlimmstenfalls muss ich halt wieder auf eine ältere Version wechseln.
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
P Streams per Mail mit JavaMailAPI versenden Allgemeine Java-Themen 3

Ähnliche Java Themen

Neue Themen


Oben