ання/розкодування Вам доведеться звертатися до методів MimeUtility самому. p> Якщо Ви не вказуєте кодування листи, то буде використана кодування за замовчуванням - Зазвичай використовується file.encoding, але її можна перекрити спеціальної системної налаштуванням "mail.mime.charset". Це розумно, тому що часто кодування за умовчанням в системі відрізняється від стандартної кодування Internet. Для російськомовних листів в Internet стандартом де-факто стала кодування ЯКІ-8. Ви, звичайно, можете вказати й іншу, але шанс, що приймаюча сторона не зможе прочитати такий лист дуже великий. p> Треба враховувати також, що в JavaMail розрізняються два стандарти найменування кодувань - стандарт MIME і стандарт Java. Для більшості кодувань імена MIME вже підтримуються в Java за допомогою механізму синонімів. Наприклад, для кодування "Cp1251" (назва Java) існує синонім "Windows-1251" (назва MIME). Для тих кодувань, для яких такі синоніми відсутні, вони підтримуються всередині JavaMail. Для цього завантажується файл javamail.charset.map з підкаталогу "/ META-INF" з того jar-файлу, звідки був завантажений пакет JavaMail. Для вказівки кодування при виклику методів JavaMail слід використовувати тільки MIME-імена, в іншому випадку одержувач не зможе розпізнати використану кодування (якщо тільки на іншому кінці не те Java :-). p> Ось простий приклад відправки листа за допомогою JavaMail:
import java.util.Properties;
import javax.mail.Session;
import javax.mail.Message;
import javax.mail.Transport;
import javax.mail.internet.MimeMessage;
import javax.mail.internet.InternetAddress;
public class MailTest
{
static final String ENCODING = "Koi8-r";
static final String FROM = "Myaccount@mydomail.ru";
static final String TO = "Myaccount@mydomail.ru";
public static void main (String args []) throws Exception
{
Properties mailProps = new Properties ();
mailProps.put ("mail.store.protocol", "pop3");
mailProps.put ("mail.transport.protocol", "smtp");
mailProps.put ("mail.user", "myaccount");
mailProps.put ("mail.pop3.host", "mail.mydomail.ru");
mailProps.put ("mail.smtp.host", "mail.mydomail.ru");
Session session = Session.getDefaultInstance (mailProps);
MimeMessage message = new MimeMessage (session);
message.setFrom (new InternetAddress (FROM));
message.setRecipient (Message.RecipientType.TO, new InternetAddress (TO));
message.setSubject ("Тестове лист", ENCODING);
message.setText ("Текст тестового листа", ENCODING);
Transport.send (message);
}
}
XML/XSL p> При розробці формату XML особлива увага приділялася підтримці різних кодувань символів. Для вказівки того, яка кодування була використана використовується заголовок XML-документа. Приклад:
В
Якщо кодування вказана не була, то за умовчанням п...