![]() |
Помощь по написанию проги на Delphi
Как организовать поиск файлов с определенным расширением, отправки их на фтп или на мыло с аттачем
|
Поиск файла :[api]
http://delphi.my1.ru/publ/2-1-0-7 Чтение и отправка: https://forum.antichat.ru/showpost.p...79&postcount=6 |
да видел я все это :\ нужно чтоб слал на мыло с аттачем и задавал имя файла которое будет введено в Edit1.Text
|
Цитата:
Чем тебя пример JES'а не устроил????! ------------------------ Вот с помощью IDSMTP Отправка и прием почты реализуются при помощи Delphi довольно просто. Для отправки почты нам понадобится компонент idSMTP со страницы Indy Clients палитры компонентов Delphi (рис. 1). рис.1 Этот компонент реализует все необходимое для отправки электронной почты по протоколу SMTP (Simple Mail Transfer Protocol - простой протокол передачи почты), использующий 25 порт, по которому посылаются команды и текст письма. Этапы отправки электронной почты следующие: 1) соединение с SMTP сервером по 25 порту; 2) подготовка тела письма, определение отправителя и получателя письма; 3) отправка письма на SMTP сервер; Разместив на форме компонент idSMTP, займёмся его настройкой. Настройку порта можно произвести в инспекторе объектов, установив свойство Port в значение 25, или в коде программы сделать то же самое: Код:
IdSMTP1.Port:=25;Для соединения с SMTP сервером, который будет осуществлять отправку нашей почты, нужно указать его URL, для сервера mail.ru это производится следующим образом : Код:
IdSMTP1.Host := 'smtp.mail.ru';procedure Connect(const ATimeout: Integer); override; где ATimeout - необязательный параметр, задает максимальное время в миллисекундах ожидания ответа с SMTP сервера, по истечении которого попытка установить соединение прекращается. Например, Код:
IdSMTP1.Connect(5000);Код:
IdSMTP1.AuthenticationType:=atLogin;IdSMTP1.AuthenticationType:=atNone; После применения метода Connect, нужно анализировать логическое свойство Connected, которое в случае удачного соединения устанавливается в True. После этого при помощи метода Send можно отправлять сообщение: i Код:
f Connected=True then IdSMTP1.Send(Msg);end; С темой сообщения, я думаю, все понятно. Свойство Код:
property Recipients: TIdEmailAddressList;Код:
property EMailAddresses: String;Код:
Msg.Recipients.EMailAddresses:='bogdanwe@mail.ru,delphi7@mail.ru';Свойство Address содержит информацию о электронном ящике отправителя: Код:
property Address: string;Код:
Msg.From.Address:='delphi@mail.ru';property Name: string; например, Код:
Msg.From.Name:='Антон Камолов';property Body: TStrings; Присоединяем к письму аттачмент Если вам нужно отправить с письмом файл, т.е. аттачмент, то для этого нужно создать объект класса TidAttachment. Для этого применяется следующий конструктор: Код:
constructor Create(Collection: TIdMessageParts; const AFileName: TFileName = ''); reintroduce;контстанта AFileName типа TFileName - представляет собой обычную текстовую строку с указанием правильного пути к файлу, например "C:\file.zip", по умолчанию имеет значение ''. Таким образом, продолжая наш пример, строкой вида Код:
TIdAttachment.Create(Msg.MessageParts,'c:\file.zip');Теперь наша структура письма содержит информацию о аттачменте. После отправки сообщения нужно разорвать соединение с сервером, чтобы оно не "висело". Это производится методом Disconnect: Код:
IdSMTP1.Disconnect;Цитата:
PHP код:
|
Залив на гейт надежней, чем отправка на мыло. В качестве примера можно рассмотреть QIP History Sender писанный на Delphi, поищи на форуме
|
угу... если например жер...эээ т.е. пользователь работает через прокси, то не всегда удаётся отправить письмо... это зависит от настроек прокси.
Одназначно на гейт, намного надёжнее, хотя и там бывают обломы |
| Время: 02:05 |