Имя пользователя:
Пароль:  
Помощь | Регистрация | Забыли пароль?  

Название темы: ESMTP сервер
Показать сообщение отдельно

Новый участник


Сообщения: 13
Благодарности: 0

Профиль | Отправить PM | Цитировать


Цитата:
В ответ на комагду auth smtp server отвечает unknown sasl metod. Что это значит (sasl metod)? Вообще говоря, гораздо более интересен ответ на вопрос, как правильно аутентифицироваться и отправить почту.
лови:

import java.io.*;
import java.net.*;

public class JavaMailTest {

  static PrintStream ps = null;          // посылка сообщений
  static DataInputStream dis = null;     // получение сообщений

  public static void send(String str) throws IOException
    {
       ps.println(str);      // посылка строки на SMTP
       ps.flush();           // очистка буфера
       System.out.println("Java sent: " + str);
    }

  public static void receive() throws IOException
    {
       String readstr = dis.readLine();  // получение ответа от SMTP
       System.out.println("SMTP respons: " + readstr);
    }

  public static void main (String args[])
    {
       String HELO = "HELO ";
       String MAIL_FROM = "MAIL FROM: user@emailadress.com ";
       String RCPT_TO = "RCPT TO: user@emailadress.com ";
       String SUBJECT = "SUBJECT: Java is cool!";
       String DATA = "DATA";    // начало сообщения

       // заметка: "\r\n.\r\n" указывает на конец сообщения
       String BODY = "Java sent this!\r\n.\r\n";

       Socket smtp = null;     // сокет SMTP

       try {  // заметка: 25 - это стандартный номер порта SMTP
           smtp = new Socket("smtp.any.com", 25);
           OutputStream os = smtp.getOutputStream();
           ps = new PrintStream(os);
           InputStream is = smtp.getInputStream();
           dis = new DataInputStream(is);
         }
       catch (IOException)
         {
           System.out.println("Error connection: " + e);
         }

       try {  // скажем SMTP helo
           String loc = InetAddress.getLocalHost().getHostName();
           send(HELO + loc);
           receive();          // получение ответа SMTP
           send(MAIL_FROM);    // посылка на SMTP
           receive();          // получение ответа SMTP
           send(RCPT_TO);      // посылка адресату SMTP
           receive();          // получение ответа SMTP
           send(DATA);         // начинается посылка на SMTP
           receive();          // получение ответа SMTP
           send(SUBJECT);      // посылка темы на SMTP
           receive();          // получение ответа SMTP
           send(BODY);         // посылка тела сообщения
           receive();          // получение ответа SMTP
           smtp.close();       //
         }
       catch (IOException)
         {
           System.out.println("Error sending: " + e);
         }

       System.out.println("Mail sent!";
  }
}


Цитата:
Ещё один вопрос (очень набитый, но всё же ответ на него я не знаю) - это вопрос о том как узнать свой IP адрес, для того чтобы использовать его как аргумент команды HELO.
  Чем отличаются команды HELO  и EHLO?
Ну этого куча, ты бы потрудился и поискал.....

-------
hm... ты кто?


Отправлено: 03:21, 27-03-2003 | #2

Название темы: ESMTP сервер