Javamail:Probleme mit der Darstellung von Umlaute in Subject

kemit

Mitglied
Hallo an alle

Ich habe folgende Problem,ich versuche ein Email mit Javamail zu senden der ein Subject hat der Umlaute behinhaltet bzw ü Owohl ich mit UTF-8 versucht das Zeichen richtig darzustellen bekomme ich für die Darstellung des ü: ü.Woran kann das liegen ?

Ein Teil der Code :
Java:
message.setSubject(subject, "UTF-8");

Danke
 
@The_29

Ich habe nur Sonderzeichen in Subject ich probiert nocht in Body

@Timbeau

Ich bekomme diese Zeichen als antwort :öäü

Danke
 
Wie sieht der Rest aus? Header Information etc.?

Java:
String encoding = "utf-8";
			
			// new mimemessage
			MimeMessage msg = new MimeMessage(session);

			// set recipients
			msg.setFrom(new InternetAddress(senderAddress));

			// prepare a MimeBodyPart for the content/text
			MimeBodyPart textBodyPart = new MimeBodyPart();

			textBodyPart.setText(text, encoding);
			textBodyPart.setDisposition(MimeBodyPart.INLINE);

			msg.setSubject(subject, encoding);

			// Attachment
			MimeBodyPart attachement = new MimeBodyPart();
			attachement.setDataHandler(new DataHandler(new FileDataSource(
					file2send)));
			attachement.setFileName(file2send.getName());
			attachement.setDisposition(MimeBodyPart.ATTACHMENT);

			// add parts to main-message
			MimeMultipart mimeMultipart = new MimeMultipart();
			mimeMultipart.addBodyPart(textBodyPart);
			mimeMultipart.addBodyPart(attachement);

			msg.setContent(mimeMultipart);

			// Header
			msg.setSentDate(new Date());

Beispiel von mir, welches Umlaute korrekt versendet.
 
IMHO verschickt der das auch mit UTF-8, nur hat sein Mailclient Probleme das darzustellen...

Die Frage ist halt, auf welchen Codec der MailClient basiert...
 
Du musst noch das Transfer Encoding auf "quoted printable" umstellen. UTF-8-Zeichen sind nämlich manchmal 2-bytig und können deswegen nicht als plain ASCII verschickt werden.
 
@Azte

Danke aber ich schon diese funktion probiert aber hatte das selbe Problem
@Timbeau

Danke Ich habe nur Problem mit dem Subject da ich nur dort ein Umlaute habe ,aber es schein das selbe als ich gemacht habe zumindesten für den Subject : dein :
Code:
msg.setSubject(subject, encoding);
meine
Code:
message.setSubject(subject, "UTF-8");
hst du selbst probiert un bekomme tasälich Umlaute in Subject?
 
Ich sehe schon, dass unsere setSubject-Methode die gleiche ist. Das ganze läuft auch halbwegs produktiv und ist bei ca 800 Adressaten korrekt angekommen, zumindest wenn die Antwort mit Zitat gesendet wurde. Teste meine Methode und schau ob es daran liegt, dass du irgendwelche Header Informationen setzt oder auch nicht setzt.
 
Hallo an alle

Nochmal Danke für ihre schnell Antwort.Villeicht sollte ich noch dazu erganzen daß der Projet ist ein Maven Gwt Project und der Bodyteils der Email befindet sich auf eine Html Seite.Ich glaube das ist das Poblem ,ich habe gerade versucht ein Mail mit ein einfach Console Applikation zu senden und die Umlauten werden ohne Problem richtig dargestellt sogar ohne der Subject auf UTF-8 zu setzen also:
Java:
message.setSubject(subject);
.

Danke
 
@Nillehammer

habe auch das gemacht aber wird immer nicht richtig dargestellt,vielleicht habe ich falsch angesezt :
Java:
 message.setSubject("öäü"), "UTF-8");
           message.setSubject("Content-Transfer-Encoding","quoted-printable");

Gruß
 
Die Windows "Konsole", also cmd.exe, "spricht" gar kein UTF-8 sondern einen anderen Zeichensatz.

Wenn du in deiner IDE Umlaute eintippst, in welchem Zeichensatz machst du das denn? 😉
Sprich, was sind die Einstellungen für das Projekt in der IDE und in der pom.xml?
 
@Maki
Ich habe mich villeicht falsche ausgedruckt ich meinte ein Java Console Anwendung.
Ich habe nicht der Project von anfang an entwickeln musse nur weiter entwickeln deswegen immer die ganze Ergänzungen.Ich habe gerade in der POM Datei geguckt es scheint richtig eingestellt zu sein :[XML]<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>[/XML]

Gruss
 

Zurück
Oben