Блог программатора

Our partner
Главная | Последние правки | Поиcк | Все страницы | Редактор | Админ | Печать

Отправка почты из Java

Хочу привести один класс который посылает html-почту. На сегодняшний день существует два подхода к посылке почты:

  • "Правильный". - Установка tcp/ip соединения с smtp сервером... в общем это работа через JavaMail
  • "Неправильный" - запустить sendmail (дальше как мы делаем это в perl'е)

У первого способа огромное преимущество - платформо-независимость, однако есть минус - усложняется конфигурирование и скорость отсылки.

Второй способ: недостаток - у какого уважающего себя Windwos есть /usr/sbin/sendmail ? :) С другой стороны, какой уважающий себя Java-девелопер ориентируется на Win32 платформу? :) Однако преимущества огромны - sendmail настолько "умная" программа... - нам совершенно не надо заботиться о том чтобы smtp сервер работал, не надо тратить время на установление tcp/ip соединения с этим сервером...

В общем далее я привожу пример класса который реализует второй подход (на его основе сейчас работает самопальный автоответчик в одном из чатов - он сообщения адрессованные мне в приват посылает через email-sms гейт мне на мобильный :-)). На последок хочу напомнить: "Товарищи, будьте бдительны и посылайте почту в КОИ-8 - это СТАНДАРТ для нашей кодировки."
import java.io.*;

/**
 * Object wich allow sending html mail. Need sendmail (this object
 * is ported some my perl scripts).
 * @author General
 */
public class SendMail {

 private String from,to,msgbody,subj;
   
 public SendMail() {
   from="";to="";msgbody="";subj="";
 }

 public void setFrom(String From) { from=From; }
 public void setTo(String To)     { to=To; }
 public void setSubj(String Subj) { subj=Subj;}
 public void setMessageBody(String MessageBody) {
   msgbody=MessageBody;
 }

 public void send() {
   String cmd="";
   String param="";
   
   cmd="/usr/sbin/sendmail -t -oi";
   param=param+"From: "+from+"\n";
   param=param+"To: "+to+"\n";
   param=param+"Subject: "+subj+"\n";
   param=param+"Content-Type: text/html; charset=koi8-r\n\n";
   param=param+msgbody+"\n";
   try{ Process p=Runtime.getRuntime().exec(cmd);
        OutputStream o=p.getOutputStream();
        o.write(param.getBytes("koi8"));
        o.flush();
        o.close();
     } catch(Exception e)
     { System.out.println(""+e);
     }
 }
}

Коментарии

Отслеживать новые комментарии

Прокоментируйте эту статью!

Автор:
Введите текст с картинки:
Коментарий


Главная
Софт
Хард
Политеги

SimpleWiki 

Почта 



Мой номер ICQ
 456824974 

Архив:

01.2010
02.2010
03.2010
04.2010
05.2010
06.2010
07.2010


Радио «Анонимус» 
Реклама java
Wed, 30 Jun 2010 13:56:00 -0400
Копипаста: История программных революций от Microsoft
Mon, 14 Jun 2010 04:19:00 -0400
Как восстановить grub2 и mbr
Thu, 10 Jun 2010 17:33:00 -0400
Установить/сменить пароль администратора на свежем postgresql'е
Sun, 23 May 2010 18:18:00 -0400
Президент Виктор Янукович получил по морде венком
Tue, 18 May 2010 09:31:00 -0400
Наконец-то ! Контакт с инопланетянами !
Thu, 18 Mar 2010 08:01:00 -0400
Панкота: группа Флiт
Sat, 13 Mar 2010 08:11:00 -0500

Blog

Add bookmark:
Bookmark and Share



© Komenda Viacheslav
Запрещается перепечатка материалов, без письменного разрешения автора.

Последнее обновление: Tue, 05 May 2009 23:25:44 -0400