Ahojte,
On Mon, Nov 30, 2009 at 1:00 PM, Dusan Zatkovsky <[email protected]> wrote:
> Zapasim so $SUBJ a zacinam byt znacne strateny.
>
> Potrebujem poslat email pomocou java mail z windows, ktory ma v sebe cesky
> text a attachment. Uz sa s tym lamem 2 hodiny a nemozem tomu prist na klb.
zkoušel jsi metodu MimeBodyPart.setContent(aStr, aContentType) ?
Nám pracuje následující postup bez problémů:
public static void sendSmtpMessage(String aHost, String aFrom, String
aTo, String aCharset, String aSubject,
String aText) throws AddressException, MessagingException,
UnsupportedEncodingException {
Properties tmpProps = new Properties();
tmpProps.setProperty("mail.transport.protocol", "smtp");
tmpProps.setProperty("mail.smtp.host", aHost);
tmpProps.setProperty("mail.from", aFrom);
Session session = Session.getDefaultInstance(tmpProps);
MimeMessage message = new MimeMessage(session);
message.setFrom(new InternetAddress(aFrom));
message.setFrom(new InternetAddress(aFrom));
MimeMultipart multipart = new MimeMultipart();
message.setRecipients(RecipientType.TO, InternetAddress.parse(aTo,
false));
MimeBodyPart tmpBP = new MimeBodyPart();
tmpBP.setContent(aText, "text/plain; charset=" + aCharset);
multipart.addBodyPart(tmpBP);
message.setSubject(MimeUtility.encodeText(aSubject, aCharset, null));
message.setContent(multipart);
message.setSentDate(new Date());
Transport.send(message);
}
public static void testSend(String aCharset) {
try {
sendSmtpMessage("localhost", "[email protected]",
"[email protected]", aCharset,
"příliš žluťoučký kůň úpěl ďábelské ódy",
"PŘÍLIŠ ŽLUŤOUČKÝ KŮŇ
ÚPĚL ĎÁBELSKÉ ÓDY");
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
public static void main(String[] args) {
testSend("utf-8");
testSend("iso-8859-2");
testSend("windows-1250");
}
-- pepa cacek