JavaMail - posielanie mailov v cestine

Josef Cacek josef.cacek na gmail.com
Pondělí Listopad 30 14:34:30 CET 2009


Ahojte,

On Mon, Nov 30, 2009 at 1:00 PM, Dusan Zatkovsky <msk.conf na gmail.com> 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", "josef.cacek na gmail.com",
"test na cacek.cz", 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



Další informace o konferenci Konference