I
Iceman79
Gast
Hallo!
Ich würde gern eine Email mit kyrillischen Zeichen in der Betreffzeile versenden. Allerdings finde ich keine Möglichkeit dies zu realisieren. Kann mir jemand helfen?
Hier mein Quellcode, der mit Hilfe der Javax.Mail API Mail mit ASCII-Zeichen als Betreff verschickt:
[/code]
Ich würde gern eine Email mit kyrillischen Zeichen in der Betreffzeile versenden. Allerdings finde ich keine Möglichkeit dies zu realisieren. Kann mir jemand helfen?
Hier mein Quellcode, der mit Hilfe der Javax.Mail API Mail mit ASCII-Zeichen als Betreff verschickt:
Code:
public static boolean sendMail(String[] empf, String betreff,
String nachricht, String filename, ByteArrayOutputStream stream,
ResourceBundle bundle_mail) {
if (log.isEnabledFor(org.apache.log4j.Level.DEBUG)) {
log.debug("EMail_sendMail-->start");
}
try {
// Postausgangsserver einstellen
Properties props = new Properties();
props.put("mail.smtp.host", bundle_mail.getString("smtp_Host"));
// EMail Session zum Postausgangsserver aufbauen
Session session = Session.getDefaultInstance(props);
session.setDebug(Boolean.parseBoolean(bundle_mail
.getString("debug")));
// E-Mail mit Body und Anhang erstellen
Message msg = new MimeMessage(session);
MimeMultipart content = new MimeMultipart("report");//Caterpillar
// Mailinhalt einfügen
MimeBodyPart html = new MimeBodyPart();
html.setContent(nachricht, "text/HTML");
content.addBodyPart(html);
// Mailanhang einfügen
if (filename != null || stream != null) {
DataSource dataSource = new ByteArrayDataSource(stream
.toByteArray(), bundle_mail.getString("type")); /*
* Der
* MIME-Type
* bestimmt
* die
* Formatierung
* der
* Datei
* im
* Anhang
*/
MimeBodyPart messageBodyPart = new MimeBodyPart();
messageBodyPart.setDataHandler(new DataHandler(dataSource));
messageBodyPart.setFileName(filename + ".pdf"); /*
* gibt dem
* Anhang einen
* Namen
*/
content.addBodyPart(messageBodyPart);
}
// From - Adresse einfügen
InternetAddress addressFrom = new InternetAddress(bundle_mail
.getString("sender"));
msg.setFrom(addressFrom);
// To - Adresse einfügen
for (int i = 0; i < empf.length; i++) {
InternetAddress addressTo = new InternetAddress(empf[i]);
msg.addRecipient(Message.RecipientType.TO, addressTo);
if (log.isEnabledFor(org.apache.log4j.Level.DEBUG)) {
log.debug("EMail_sendMail-->Empfänger: " + empf[i]);
}
}
// Betreff einfügen
msg.setSubject(betreff);
// Inhalt einfügen
msg.setContent(content);
// Headerinformationen einfügen
msg.addHeader("MIME-Version", "1.0");
msg.addHeader("Content-Type", content.getContentType());
// Sendedatum einfügen
msg.setSentDate(new java.util.Date());
// Mail senden
Transport.send(msg);
if (log.isEnabledFor(org.apache.log4j.Level.DEBUG)) {
log
.debug("EMail_sendMail-->EMail wurde erfolgreich gesendet!!");
}
return true;
} catch (AddressException e) {
log.error("Manager -> sendMail -> AddressException: "
+ e.getMessage());
return false;
} catch (MessagingException e) {
log.error("Manager -> sendMail -> MessagingException: "
+ e.getMessage());
return false;
}
}