Цитата:
В ответ на комагду 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?
|
Ну этого куча, ты бы потрудился и поискал.....