Всем привет!
Не могу реализовать программу отправки почты без авторизации на сервере.
Вот полный тестовый код программы на Delphi 7:
Код:
unit Unit1;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, IdBaseComponent, IdComponent, IdTCPConnection,
IdTCPClient, IdMessageClient, IdSMTP, IdMessage, IdPOP3;
type
TForm1 = class(TForm)
IdSMTP1: TIdSMTP;
Button1: TButton;
IdMessage1: TIdMessage;
Button2: TButton;
procedure Button1Click(Sender: TObject);
procedure Button2Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form1: TForm1;
implementation
{$R *.dfm}
procedure TForm1.Button1Click(Sender: TObject);
begin
IdSMTP1.Host := 'imap.mail.ru'; // URL smtp
IdSMTP1.Port:=25;
IdMessage1.Body.Text := 'Проверка прохождения почты'; // отправляемый текст
IdMessage1.From.Text := 'mail@mail.ru'; // EMail отправителя
//idMessage1.MessageParts.Clear;
IdMessage1.Recipients.EMailAddresses := 'cont_test@mail.ru'; // адрес получателя
IdMessage1.Subject := 'Проверка почты'; // тема сообщения
//TIdAttachment.Create(IdMessage1.MessageParts,'c:\.txt'); //вложение
IdMessage1.From.Name:='Макс'; //имя отправителя
IdMessage1.Body.Text:='Запуск сделан'; //текст сообщения
//IdMessage1.Date:=StrToDate('17.05.2014'); //дата отправки
IdMessage1.Date:=Now; //текущая дата отправк
IdSMTP1.Connect(2000); //запуск соединения
if idSMTP1.Connected=true then
begin
IdSMTP1.Send(IdMessage1); //отправка сообщения
showmessage('Сообщение успешно отправлено');
end
else showmessage('Соединение не произошло. Повторите');
IdSMTP1.Disconnect; //Разрыв соединения
end;
procedure TForm1.Button2Click(Sender: TObject);
begin
Form1.Close;
end;
end.
Админ: не забываем про оформление кода! Иначе последуют санкции!
До запуска соединения все идет нормально.
На строке соединения выдает ошибку:

Подскажите в чем моя ошибка.
Спасибо