Помогите отправить письмо на дельфях

  • Автор темы Lunina
  • Дата начала
L

Lunina

Гость
#1
Задача простая – залогиниться на серваке и отправить сообщение на мыло. В дельфях мало понимаю, поэтому не стебите особо плиз… вобщем, состряпала по мануалам в borland дельфях 7 следующий код:

Код:
unit Unit1;

interface

uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, IdMessage, IdPOP3, IdBaseComponent, IdComponent,
IdTCPConnection, IdTCPClient, IdMessageClient, IdSMTP, StdCtrls;

type
TForm1 = class(TForm)
Button1: TButton;
Memo1: TMemo;
SMTP: TIdSMTP;
IdPOP31: TIdPOP3;
IdMessage: TIdMessage;
procedure Button1Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;

var
Form1: TForm1;

implementation

{$R *.dfm}

procedure TForm1.Button1Click(Sender: TObject);
begin
SMTP.Port:=25;
SMTP.Username:='vasya@mail.ru';
SMTP.Host:='mail.pochta.ru';
SMTP.Password:='123456';
SMTP.AuthenticationType:=atLogin;
with IdMessage do
begin
Body.Assign(Memo1.Lines);
From.Text := 'vasya@mail.ru';
Recipients.EMailAddresses := 'masha@mail.ru';
Subject := 'hello';

end;


SMTP.Connect;
try
showmessage('îòîñëàíî');
SMTP.Send(IdMessage);
finally
SMTP.Disconnect;
end;
end;

end.

end;

end.

При нажатии на кнопку ‘послать’ все виснет и вылезает ошибка на строке SMTP.Host:='smtp.mail.ru';

Debugger Exception Notification:
Project Project.exe raised exception class EAccess Violation with message ‘Access violation at address 0046E5EE in module ‘Project.exe’. Read of address 00000000’. Process stopped…


Как с этим бороться? Что я делаю не так? И еще маленький вопрос: как к сообщению приаттачить файл ? например файл с:\1.txt