![]() |
В ответ на комагду auth smtp server отвечает unknown sasl metod. Что это значит (sasl metod)? Вообще говоря, гораздо более интересен ответ на вопрос, как правильно аутентифицироваться и отправить почту.
Ещё один вопрос (очень набитый, но всё же ответ на него я не знаю) - это вопрос о том как узнать свой IP адрес, для того чтобы использовать его как аргумент команды HELO. Чем отличаются команды HELO и EHLO? Спасибо! |
Цитата:
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!"); } } Цитата:
|
Время: 11:30. |
Время: 11:30.
© OSzone.net 2001-