Вашему приложению может понадобиться отправить email-сообщение. Для этого Вы используете экземпляры класса SendMail. Единственным методом SendMail является send, для отправки сообщения, а errorCode и errorMessage служат для интерпретации ошибок.
Например, следующий скрипт отсылает почту в vpg со специфицированной темой/subject и телом сообщения:
<server> SMName = new SendMail(); SMName.To = "vpg@royalairways.com";
SMName.From = "thisapp@netscape.com"; SMName.Subject = "Here's the information you wanted";
cocos island, marathon cay, san salvador"; SMName.send(); </server>
В таблице даны свойства класса SendMail. Свойства To и From необходимы; все остальные свойства - по выбору/optional.
To
Список разделённых запятыми первичных/primary получателей сообщения.
From
Имя пользователя/user name отправляющего сообщение.
Cc
Список разделённых запятыми дополнительных получателей сообщения.
Bcc
Список разделённых запятыми получателей сообщения, чьи имена не должны быть видны в сообщении.
Smtpserver
Имя почтового сервера (SMTP). По умолчанию это свойство имеет значение, установленное на сервере администрирования.
Subject
Тема сообщения.
Body
Текст сообщения.
Вы можете добавлять к этим свойствам любые другие. Все свойства класса SendMail включаются в шапку/header сообщения при фактической отправке. Например, следующий код отсылает сообщение получателю bill от vpg, устанавливая в поле vpg organization значение Royal Airways. Отвечает на сообщение от vpgboss.
Дополнительно о предопределённых полях шапки см. , стандарт формата текстовых сообщений Internet.
Класс SendMail позволяет отправлять простое текстовое почтовое сообщение или сложное MIME-сообщение. Вы можете также добавить в сообщению приложение/attachment. Для отправки MIME-сообщения добавьте свойство Content-type к объекту SendMail и укажите в нём MIME-тип сообщения.
Например, следующий участок кода отсылает изображение в формате GIF:
<server> SMName = new SendMail(); SMName.To = "vpg@royalairways.com";
SMName.From = "thisapp@netscape.com"; SMName.Subject = "Here's the image file you wanted";
// В следующем операторе image2.gif обязан быть кодирован с базой 64/base 64.
// Если вы используете uuencode для кодирования GIF-файла, удалите header // (например, "begin 644 image2.gif") и замыкающий ("end"). fileObj = new File("/usr/somebody/image2.gif");
openFlag = fileObj.open("r"); if ( openFlag ) {
len = fileObj.getLength(); SMName.Body = fileObj.read(len);
SMName.send(); } </server>
Некоторые MIME-типы требуют больше информации. Например, если content type это multipart/mixed, Вы обязаны также специфицировать сепаратор границ для одного или более различных наборов данных тела. Например, следующий код отсылает многочастное сообщение, содержащее две части, каждая из которых является обычным текстом:
<server> SMName = new SendMail(); SMName.To = "vpg@royalairways.com";
SMName.From = "thisapp@netscape.com"; SMName.Subject = "Here's the information you wanted";
fileObj = new File("/usr/vpg/multi.txt"); openFlag = fileObj.open("r"); if ( openFlag ) {
len = fileObj.getLength(); SMName.Body = fileObj.read(len);
SMName.send(); } </server>
Вот файл multi.txt, содержащий многочастное сообщение:
Это место для преамбулы. Она игнорируется. Это удобное место для комментария, предназначенного для читателей, не знакомых с MIME. --простая граница
Это первая часть тела сообщения. Это НЕ конец с символом обрыва строки.
--простая граница Content-Type: text/plain; charset=us-ascii
Это вторая часть тела сообщения. Это КОНЕЦ с символом обрыва строки.
--простая граница-- Это эпилог. Он также игнорируется.
Вы можете вкладывать друг в друга многочастные сообщения. То есть, если у Вас есть сообщение, content type которого многочастный, Вы можете включить другой многочастное сообщение в его тело. В таких случаях будьте внимательны и убедитесь, штаа каждый вложенный многочастный объект использует разные ограничители.
Детали о MIME-типах см. в
, MIME-стандарте. Об отправке почтовых сообщений в JavaScript см. также описание этого класса в книге