Уже неделю бьюсь над тем, как отправить или принять почту средствами Delphi.
Пробовал и стандартные Indy библиотеки (
IdSMTP и
IdMessage), и бесплатную FreeInternet. В обоих случаях результат - ошибка: "Connection closed gracefully" (кстати, тому, кто откроет тайный смысл этой фразы - "соединение преравлось
изящно", отдельное спасибо). Я уже и порт менял, и почтовые сервера разные пытался подставлять, и авторизацию убирал, и латиницой писал, вобщем что только не делал. Ни в какую. Изящно разъединяют и хоть ты тресни
Поскольку в обоих случая различия только в синтаксисе, привожу листинг с импользованием Indy для отправки письма.
procedure TForm1.Button1Click(Sender: TObject);
begin
IdMsg1.Subject:='test';
IdMsg1.Recipients.EMailAddresses:='xxx@mail.ru';
IdMsg1.From.Address:='yyy@mail.ru';
IdMsg1.Body.Text:='testtesttest';
IdSMTP1.Port:=25;
IdSMTP1.AuthenticationType:=atLogin;
IdSMTP1.Username:='xxx';
IdSMTP1.Password:='pass';
IdSMTP1.Host:='smtp.mail.ru';
IdSMTP1.Connect(10000);
if IdSMTP1.Connected=True then IdSMTP1.Send(IdMsg1);
IdSMTP1.Disconnect;
end;
Пажалуйста подскажите в чём проблема. А то уже начинаю думать, что написать собственный telnet-клиент и заставить его общаться с постовым сервером через командную строку, будет проще чем изобрести велосипед :-/
зы. Пробовал искать решение этой задачи в интернете нашёл якобы 100% рабочий исходник
si.Mail_src_0.6.1.11(631Kb), но и тот лишь беспомощно разводил руками со словаи "извините, нас
изящно разъединили"