Anhänge mit Javamail

Status
Nicht offen für weitere Antworten.

AlienAngel

Mitglied
Hallo zusammen!

Ich hab zur Zeit ein kleineres Problem mit Javamail. Ich kann problemlos Email versenden, Textformat, HTML Format alles kein Problem. Das einzige was nicht funktionieren will ist die Sache mit den Anhängen.

Ich lasse Debug mitlaufen und so wie es aussieht wird der Anhang schon mitgesendet allerdings wird er nicht angezeigt und ist nicht abrufbar wenn die Mail angekommen.

Habe auch schon in der API gesucht allerdings nicht die Lösung für mein Problem gefunden...

Vielen Dank im Vorraus...
 
G

Guest

Gast
packst du ein MimeMultipart objekt mit der methode setContent in dein Message objekt rein?

in das MimeMultipart objekt kannst du mit addBodyPart objekte der klasse MimeBodyPart einfügen

und die objekte MimeBodyPart enthalten dann jeweils text html binärdaten ....
 

AlienAngel

Mitglied
Hier mal der relevante Code:


if (file!="")
{

// Image Part definieren
MimeBodyPart messageBodyPart2 = new MimeBodyPart();



// Lesen des Images und Zuordnung an den Part

DataSource fds = new FileDataSource(file);
messageBodyPart2.setDataHandler(new DataHandler(fds));
messageBodyPart2.setFileName(file);


// Header Verbindung zum HTML
messageBodyPart2.setHeader("Content-ID","bild"); // wie beim Header

// Dem Multipart Objekt hinzufügen

multipart.addBodyPart(messageBodyPart2);

}


// Multipart mit Message assoziieren
message.setContent(multipart);

// Message senden
Transport.send(message);



file ist natürlich der Dateipfad als String....

Merkwürdig ist, das ich mit Outlook Express den Anhang kriege, aber mit Outlook nicht... da weiß ich irgendwie nich weiter...

So im Grunde tu ich wohl das, was Du vorschlägst, aber das Problem ist eben, wie gesagt das die Anhänge nur mit Outlook Express empfangen werden...
 
S

stev.glasow

Gast
hi max könntest du bitte die doppelpostings seien lassen - das bringt gar nix, denn ich lösche eh einen davon.

[edit]

huch flasches thema - sorry
 

Jiriki

Mitglied
outlook express ist in java geschrieben und outlook soweit ich weiss nicht. damit ist ja klar dass das express funktioniert :lol:

spass beiseite
wenn der anhang im express funktioniert würde ich mal in den optionen vom outlook reinschauen ob da was "entsprechend" eingestellt ist

ansonsten im programm
füge mal nur einen header an den MimeMultipart an und nicht an jedem MessageBodyPart einen eigenen oder lass ihn mal ganz weg. geht nämlich auch ohne (was macht der eigentlich alles genau der header?):

Code:
		// Nachricht erstellen: (javax.mail.Message)
		Message msg = new MimeMessage (session);
		msg.setFrom (new InternetAddress(absenderEmail));
		msg.setRecipient (Message.RecipientType.TO, new InternetAddress(empfaenger));
		msg.setSubject (betreff);		
		
		// Multipart-Objekt erstellen:
		MimeMultipart multi = new MimeMultipart();
		
		// Der erste Teil des Multipart-Objektes ist der Text der Nachricht:
		MimeBodyPart ptext = new MimeBodyPart();
		ptext.setText (nachricht);
		multi.addBodyPart (ptext);
		
		// Der zweite Teil des Multipart-Objektes ist der binäre Datei-Inhalt:
		MimeBodyPart panhang = new MimeBodyPart();
		// Datei-Anhang präparieren nach Aufgabenstellung:
		panhang.setDataHandler(new DataHandler(new FileDataSource(dateiAnhang)));
		panhang.setFileName(dateiAnhang);
		// Zweiten Teil hinzufügen:		
		multi.addBodyPart (panhang);
		
		// Multipart-Objekt als Inhalt der Nachricht übergeben:
		msg.setContent (multi);
		
	
		// Brief einwerfen, an alle angegebenen Empfänger senden:
		Transport.send (msg);
 

AlienAngel

Mitglied
Vielen Dank für die Antwort.

Es funktioniert jetzt, aber es lag offenbar hauptsächlich an etwas anderem, was ich gar nicht hier dargestellt hatte. Ich hatte nämlich den MimeMultipart als ("alternative") deklariert. Hab den Header, wie von Dir empfohlen raus und den Multipart als Standard konstruiert und jetzt klappts auch mit dem Outlook.

Aber diese verschiedenen Attribute beim Multipart Konstrukor find ich ziemlich komisch, ich hab da mal ne ganze Weile in der API gesucht was die eigentlich bedeuten, aber nichts gefunden...

Naja, jetzt läufts ja...

Danke nochmal
 

AlienAngel

Mitglied
Hallo!

Noch mal zwei kleine Fragen:

Wie funktioniert es denn mehrere Dateien anzuhängen?
Und wie stelle ich denn eine andere replyTo Adresse ein? Wenn ich
Code:
message.setReplyTo(new InternetAddress(replyTo));

mache kommt immer der Fehler : setReplyTo(javax.mail.Address[]) in javax.mail.Message cannot be applied to (javax.mail.internet.InternetAddress)

allerdings lässt sich ja nichts als Address initialiesieren, deswegen bin ich da im Moment ein wenig ratlos und wäre für Hilfe echt dankbar...
 

lockenator

Neues Mitglied
Hi.

Mein Problem ist, daß ich die Anhänge in Form von Bildern vorher schon geladen habe und somit MimeBodyPart kein DateiHandler übergeben kann. Diese Bilder habe ich ein Vektor geladen und füge sie mittels eines Casts in mein MultPart-Objekt ein. Leider geht das aber nicht. Der Anhang wird mit 0 byte Länge angezeigt, nachdem die Mail verschickt wurde

Code:
add text
Multipart multipart = new MimeMultipart();
multipart.addBodyPart(getMessageBodyPart(hnl.getText()));
			
//add attachments
for (int i=0;i<bodyPartAttachments.size();i++){
multipart.addBodyPart((MimeBodyPart)bodyPartAttachments.elementAt(i));
				}



Solche Vorgensweise ist mir nicht möglich:

// Der zweite Teil des Multipart-Objektes ist der binäre Datei-Inhalt: 
MimeBodyPart panhang = new MimeBodyPart(); 
// Datei-Anhang präparieren nach Aufgabenstellung: 
panhang.setDataHandler(new DataHandler(new FileDataSource(dateiAnhang))); 


panhang.setFileName(dateiAnhang); 
// Zweiten Teil hinzufügen:       
multi.addBodyPart (panhang);

Über einen Tip würde ich mehr freuen.

Jan
 
Status
Nicht offen für weitere Antworten.
Ähnliche Java Themen
  Titel Forum Antworten Datum
L JavaMail und mehrere Anhänge Java Basics - Anfänger-Themen 4
Mike90 Anhänge einer Mail abrufen Java Basics - Anfänger-Themen 6
E Javamail Gesendet ordner Java Basics - Anfänger-Themen 1
M Javamail installieren Java Basics - Anfänger-Themen 2
C JavaMail funktioniert nicht immer Java Basics - Anfänger-Themen 8
M javamail android app Java Basics - Anfänger-Themen 3
S JavaMail API E-Mail versenden Probleme Java Basics - Anfänger-Themen 5
B Problem beim Email versenden mit Javamail Java Basics - Anfänger-Themen 5
D Javamail - Absender-Namen einfügen? Java Basics - Anfänger-Themen 2
F Javamail Java Basics - Anfänger-Themen 5
M Javamail - AOL-IMAP-Postfach abholen Java Basics - Anfänger-Themen 8
A JavaMail liefert Datenmüll Java Basics - Anfänger-Themen 5
G JavaMail: Unrecognized SSL message, plaintext connection? Java Basics - Anfänger-Themen 3
H JavaMail: Beim Versenden tritt ein Fehler auf! Java Basics - Anfänger-Themen 4
G JavaMail Java Basics - Anfänger-Themen 2
G LIstener bei JavaMail Java Basics - Anfänger-Themen 2
M javamail: versch. Postfächer auslesen Java Basics - Anfänger-Themen 6
D JavaMail Java Basics - Anfänger-Themen 4
M javamail: HTML-Tags aus content eliminieren Java Basics - Anfänger-Themen 2
M Javamail mit Eclipse? Java Basics - Anfänger-Themen 2
M Javamail: Mail als separate Datei speichern? Java Basics - Anfänger-Themen 6
M Javamail: Datumsformat - Frage Java Basics - Anfänger-Themen 2
M Javamail - Anhang speichern Java Basics - Anfänger-Themen 2
G Problem mit javamail Java Basics - Anfänger-Themen 3
G JavaMail funzt nur mit Adressen die ich vorher abgerufen hab Java Basics - Anfänger-Themen 3
H JavaMail Java Basics - Anfänger-Themen 5
D JavaMail Java Basics - Anfänger-Themen 9
P JavaMail API installieren Java Basics - Anfänger-Themen 4
L JavaMail-Fehler: "Helo command rejected" Java Basics - Anfänger-Themen 5
L JavaMail: javax.mail wird nicht gefunden Java Basics - Anfänger-Themen 2
F JavaMail Java Basics - Anfänger-Themen 2

Ähnliche Java Themen

Neue Themen


Oben