Mail mit zip-Attachment

Status
Nicht offen für weitere Antworten.

Scoobie

Mitglied
Hallo Leute!

Ich habe folgendes Problem:
Ich möchte gerne eine Mail mit einem gezippten Attachment versenden, über mail.gmx.net

Ich bekomme aber immer die Fehlermeldung:

IOException while sending message;
nested Exception is: javax.activation.UnsupportedDataTypeException: no Object DCH for MIME type multipart/mixed

die Sende-Routine sieht so aus:

Code:
public static void sendWithAuthenticatorAndAttachement (String userName, String password, String to, String from, String host, String betreff, String mailText, File attachFolder) throws Exception {

      // Get system properties
      Properties props = System.getProperties();
      props.put("mail.smtp.host", host);
      props.put("mail.smtp.auth", "true");

      // Setup authentication, get session
      Authenticator auth = new MyAuthenticator(userName, password);
      Session session = Session.getDefaultInstance(props, auth);

      // Define message
      MimeMessage message = new MimeMessage(session);
      message.setFrom(new InternetAddress(from));
      message.addRecipient(Message.RecipientType.TO, new InternetAddress(to));
      message.setSubject(betreff);

      BodyPart messageBodyPart = new MimeBodyPart();
      messageBodyPart.setText(mailText);

      //Create Multipart
      Multipart multipart = new MimeMultipart();
      multipart.addBodyPart(messageBodyPart);
      //Attachment
      messageBodyPart = new MimeBodyPart();
  
      /*/
      MIME Types
      txt - text/plain
      html - text/html
      xml - text/xml
      pdf - application/pdf
      zip - application/x-zip-compressed
      jpeg - image/jpeg
      gif - image/gif
      //*/

      messageBodyPart.setDataHandler(new DataHandler(new FileDataSource(data),"application/x-zip-compressed"));
      //data ist eine temporäre Datei die gezippt vorhanden ist. Ist als Datentyp java.io.File im Speicher.

      multipart.addBodyPart(messageBodyPart);
      message.setContent(multipart);

      // Send message
      Transport transport = session.getTransport("smtp");
      transport.connect(host, userName, password);

      transport.sendMessage(message, message.getAllRecipients());
      transport.close();
    }

Bitte um Hilfe[/code]
 
G

Guest

Gast
Hi, ich habe das gleiche Problem, hast Du inzwischen eine Lösunng gefunden??
 
A

Autor

Gast
Dieser Codeschnipsel ist aus meinem Program herauskopiert worden. Das heißt einige Funktionen sind nicht dabei.
zB.: Class Attachment

Falls du gravierende Probleme damit hast, kann ich dir ja noch mehr senden, aber dieser grobe Umriss sollte dein Problem lösen.

Diese Klasse brauchst du auch:
Code:
class MyAuthenticator extends Authenticator {
  String username;
  String password;

  public MyAuthenticator(String username, String password){
    this.username = username;
    this.password = password;
  }

  public PasswordAuthentication getPasswordAuthentication() {
    /*/
    StringTokenizer st = new StringTokenizer(username + "," + password, ","); //keine Ahnung was ich mir dabei damals gedacht habe?????
    username = st.nextToken();
    password = st.nextToken();
    //*/
    return new PasswordAuthentication(username, password);
  }
}

Das ist aus meinem Hauptprogramm herauskopiert:

Code:
import javax.mail.*;
import javax.mail.internet.*;
import java.util.*;
import javax.activation.*;

  public static void sendWithAuthenticatorAndAttachement (String userName, String password, String to, String from, String host, String betreff, String mailText, File attachFolder,javax.swing.JButton send, javax.swing.JProgressBar bar) throws Exception {
      send.setVisible(false);

      // add handlers for main MIME types
      MailcapCommandMap mc = (MailcapCommandMap) CommandMap.getDefaultCommandMap();
      mc.addMailcap("text/html;; x-java-content-handler=com.sun.mail.handlers.text_html");
      mc.addMailcap("text/xml;; x-java-content-handler=com.sun.mail.handlers.text_xml");
      mc.addMailcap("text/plain;; x-java-content-handler=com.sun.mail.handlers.text_plain");
      mc.addMailcap("multipart/*;; x-java-content-handler=com.sun.mail.handlers.multipart_mixed");
      mc.addMailcap("message/rfc822;; x-java-content-handler=com.sun.mail.handlers.message_rfc822");
      CommandMap.setDefaultCommandMap(mc);


      Properties props = System.getProperties();
      props.put("mail.smtp.host", host);
      props.put("mail.smtp.auth", "true");

      /*/POP IT
      String popHost = "pop.gmx.net";
      props.put("mail.pop3.host", popHost);
      //POP IT END*/

      // Setup authentication, get session
      Authenticator auth = new MyAuthenticator(userName, password);
      Session session = Session.getDefaultInstance(props, auth);

      /*/POP IT
      Store store = session.getStore("pop3");
      store.connect();
      Folder f = store.getFolder("INBOX");
      f.open(Folder.READ_ONLY);
      Message[] messages = f.getMessages();
      System.out.println(messages[0].getFrom()[0]);
      //POP IT END*/

      // Define message
      MimeMessage message = new MimeMessage(session);
      message.setFrom(new InternetAddress(from));
      message.addRecipient(Message.RecipientType.TO, new InternetAddress(to));
      message.setSubject(betreff);

      BodyPart messageBodyPart = new MimeBodyPart();
      messageBodyPart.setText(mailText);
      if(debug) System.out.println("set MailText");

      //Create Multipart
      Multipart multipart = new MimeMultipart();
      if(debug) System.out.println("create MimeMultiPart");
      multipart.addBodyPart(messageBodyPart);
      if(debug) System.out.println("addBodyPart");
      //Attachment
      messageBodyPart = new MimeBodyPart();
      if(debug) System.out.println("create MimeBodyPart");
      /*/
      DataSource source = new FileDataSource(filename);
      messageBodyPart.setDataHandler(new DataHandler(source));
      //*/
      /*/
      MIME Types
      txt - text/plain
      html - text/html
      xml - text/xml
      pdf - application/pdf
      zip - application/x-zip-compressed
      jpeg - image/jpeg
      gif - image/gif
      //*/
      bar.setVisible(true);
      FileDataSource fds;
        fds = new FileDataSource(Attachment.zip(attachFolder, bar));

      bar.setVisible(false);
      send.setVisible(true);
      if(debug) System.out.println("load FileDataSource");
      //System.out.println(fds.getContentType());
      messageBodyPart.setDataHandler( new DataHandler(fds) );

      messageBodyPart.setFileName("data.zip");

      if(debug) System.out.println("set DataHandler");
      multipart.addBodyPart(messageBodyPart);
      if(debug) System.out.println("addBodyPart");
      message.setContent(multipart);
      if(debug) System.out.println("setContent MultiPart");

      // Send message
      Transport transport = session.getTransport("smtp");
      transport.connect(host, userName, password);
      if(debug) System.out.println("connect");

      transport.sendMessage(message, message.getAllRecipients());
      if(debug) System.out.println("send");
      transport.close();

      /*/POP IT
      f.close(false);
      store.close();
      //POP IT END*/
    }
[/code]
 
Status
Nicht offen für weitere Antworten.
Ähnliche Java Themen
  Titel Forum Antworten Datum
G mail body parsen (->attachment & filename) Allgemeine Java-Themen 2
Z E-Mail senden Allgemeine Java-Themen 2
C Probleme mit javax.mail.Session Allgemeine Java-Themen 8
jumichel Eclipse The package javax.mail is not accessible Allgemeine Java-Themen 3
N E-Mail Validator (ohne Regex!) Allgemeine Java-Themen 7
TechnikTVcode Mail Programm Allgemeine Java-Themen 2
N E-Mail per Java verschicken Allgemeine Java-Themen 2
C javax.mail.Message message.setreplyto() null setzen (keine replyto Adresse) Allgemeine Java-Themen 25
B Java Mail: Prüfung auf neue Emails Allgemeine Java-Themen 1
B Java Mail: Emails sortieren? Allgemeine Java-Themen 5
B Java Mail: Prüfen, ob Email hat ein Anhang oder nicht Allgemeine Java-Themen 2
B Mail: Nicht vorhandener Empfänger ermitteln Allgemeine Java-Themen 4
B Java Mail: Unterscheidung bei Attachments und eingefügte Bilder in Email Allgemeine Java-Themen 18
T java mail 1.4.2| ssl Allgemeine Java-Themen 2
E javax.mail sene Type ändern Allgemeine Java-Themen 2
R Compiler-Fehler Bild per E-Mail versenden Allgemeine Java-Themen 3
H IDEA IntelliJ Java Mail funktioniert nach Export nicht mehr! Allgemeine Java-Themen 1
D JPanel in Mail darstellen Allgemeine Java-Themen 30
D Mail aus GUI generieren Allgemeine Java-Themen 2
U javax.mail.Folder.list() zeigt nicht alle Ordner Allgemeine Java-Themen 5
KeVoZ_ Java Mail senden - geht nicht Allgemeine Java-Themen 4
K Input/Output E-mail Zusammenfassen Senden Allgemeine Java-Themen 2
F Java Mail Problem: Authentifizierung wird nicht immer mitgeschickt Allgemeine Java-Themen 1
M Java Mail verwenden Allgemeine Java-Themen 20
X Mail versenden mit java.mail Allgemeine Java-Themen 14
L Java Mail Allgemeine Java-Themen 0
H Java Mail Fehlermeldung: java.lang.NoClassDefFoundError: javax/mail/internet/AddressException Allgemeine Java-Themen 5
B Java Mail Client als Outlook ausgeben Allgemeine Java-Themen 2
F E-Mail aus JAVA senden nach Umstellung auf Netbean 7.4 mit Java 7U45 nicht mehr möglich Allgemeine Java-Themen 4
T popup für e-mail Allgemeine Java-Themen 2
Z Java E-Mail Client mit End-to-End-Verschlüsselung Allgemeine Java-Themen 4
P javax.mail MessageCount Allgemeine Java-Themen 13
I Eigenes Mail-Programm schreiben Allgemeine Java-Themen 21
C E-Mail: Authenticator.getPasswordAuthentication() wird nicht gerufen Allgemeine Java-Themen 2
GUI-Programmer Java Mail - Proxy für Verbindung einstellen Allgemeine Java-Themen 2
P Mail wird nicht gesendet - Muss ich kein PW angeben ? Allgemeine Java-Themen 13
U Mailclient über getDesktop.mail vorbereiten, Problem beim Anhang: Allgemeine Java-Themen 3
S Mail Adressen Syntax prüfen Allgemeine Java-Themen 22
S Java Mail Allgemeine Java-Themen 3
G Problem Java Mail API: CC wird nicht berücksichtigt Allgemeine Java-Themen 7
R php hat mail() und java? Allgemeine Java-Themen 5
B Per BatchScript Mail versenden Allgemeine Java-Themen 27
S mail per smtp lokal in postfix einliefern Allgemeine Java-Themen 6
Mike90 Graph in einer Mail verschicken Allgemeine Java-Themen 7
N Java Mail Allgemeine Java-Themen 5
F Spam-Mail-Programm gesucht Allgemeine Java-Themen 11
N Java Mail Allgemeine Java-Themen 7
M [Java Mail] Multipart beim Senden funktioniert nicht. Allgemeine Java-Themen 11
S Shell-Befehl: mail Allgemeine Java-Themen 6
W mail senden mit java Allgemeine Java-Themen 4
C Desktop.mail Problem. IO Exception: Failed to open. Allgemeine Java-Themen 3
P Mail Notifier Allgemeine Java-Themen 9
J String auf E-Mail überprüfen Allgemeine Java-Themen 4
S E-Mail an nicht-RFC822-formatierte Adresse Allgemeine Java-Themen 4
M Desktop mail attachments Allgemeine Java-Themen 3
S E-Mail-Links: geklickten Link ermitteln Allgemeine Java-Themen 4
F Umlaute: E-Mail per JavaMail und Textfile Allgemeine Java-Themen 5
C Mail Api http Protokoll? Allgemeine Java-Themen 5
C E-Mail Versand Allgemeine Java-Themen 3
0x7F800000 e-mail mit einer virtuellen datei schicken? Allgemeine Java-Themen 3
J Mail schicken über mailx Allgemeine Java-Themen 3
G E-Mail versenden Allgemeine Java-Themen 6
L Infos zu java.mail Allgemeine Java-Themen 5
H Java Mail hängt sich unregelmässig auf Allgemeine Java-Themen 8
G Mail Konten (E-Mails holen) Allgemeine Java-Themen 5
P welche java version für javax.mail? Allgemeine Java-Themen 7
S JavaMail --> HTML-Mail verschicken? Allgemeine Java-Themen 7
S Ungelesene Mails mit Java Mail abholen Allgemeine Java-Themen 3
S Java Mail IOException Allgemeine Java-Themen 13
B Mail mit Java Allgemeine Java-Themen 2
S Java mail weiterleitung funktioniert nicht Allgemeine Java-Themen 2
L E-Mail Auswertung mit Servlet (Excel) Allgemeine Java-Themen 3
G Probleme beim Mail-Api mit BCC Allgemeine Java-Themen 2
C [javax.mail] Betreff vergleichen Allgemeine Java-Themen 5
C [javax.mail] Folder not open Allgemeine Java-Themen 2
G Probleme mit java.mail Allgemeine Java-Themen 2
M javax.mail – Sending failed – Invalid Addresses Allgemeine Java-Themen 8
R Java Mail Abrufen von Mails Allgemeine Java-Themen 2
P Inhalt einer Mail anzeigen Allgemeine Java-Themen 5
S E-Mail ueber Exchange Server schicken! Allgemeine Java-Themen 3
P Streams per Mail mit JavaMailAPI versenden Allgemeine Java-Themen 3
S java mail API, email versenden Allgemeine Java-Themen 8
S mail von server mittels mailapi löschen Allgemeine Java-Themen 2
H POI attachment not found... Allgemeine Java-Themen 1
M Javamail -> andere Möglichkeit für Attachment Allgemeine Java-Themen 5

Ähnliche Java Themen

Neue Themen


Oben