Базы данныхИнтернетКомпьютерыОперационные системыПрограммированиеСетиСвязьРазное
Поиск по сайту:
Подпишись на рассылку:

Назад в раздел

Посылка почты из Java

div.main {margin-left: 20pt; margin-right: 20pt}

Посылка почты из Java


Developers.com.ua


Хочу привести один класс который посылает 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-rnn"; 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); } } }

  • Главная
  • Новости
  • Новинки
  • Скрипты
  • Форум
  • Ссылки
  • О сайте




  • Emanual.ru – это сайт, посвящённый всем значимым событиям в IT-индустрии: новейшие разработки, уникальные методы и горячие новости! Тонны информации, полезной как для обычных пользователей, так и для самых продвинутых программистов! Интересные обсуждения на актуальные темы и огромная аудитория, которая может быть интересна широкому кругу рекламодателей. У нас вы узнаете всё о компьютерах, базах данных, операционных системах, сетях, инфраструктурах, связях и программированию на популярных языках!
     Copyright © 2001-2024
    Реклама на сайте