Пример работы с SMTP, вопрос - Сайт про программирование и программирование под linux
Программирование под linux, программирование, языки программирования, книги программирование На сайте представлена информация про программирование в Интернете и работу  

Сохранение имени файла в базу данных, Как?
Вычисляемые поля
Как избежать пропадания значка?
Hook!, Перехват клавы!
Как сделать атрибут для ....
создать составной ключ, что не так
Сохранение запроса в файл
Ошибка при добавлении записи, TQuery
как получить ответ sql запроса в преременную, ответ запроса в переменую
Name not unique in this context, помогить чтоль...
Как Вы относитесь к курящим девушкам?
научите пользоватся footer и sumlist (DBGridEh), азы...
Как создать при запуске алиас
Insert into table2 (из 2.mdb) из Table1 (из 1.mdb), С помощью Delphi и что бы не тормозило..
Элементы окна, как добраться?
Пароль для всех, как сделать?, Пароль на запуск программы.
Автофильтр, как в MS Excel
Пароль к базе данных, База Access, подключение ADO
Связь между таблицами, Delphi+ADO+Access
Надпись MEMO в ячейках DBGrid
Нумерация выборки в DbGrid, С аксесом неполучается никак!!!
Как сделать пароль в БД Access
Текстовое поле заполняется пробелами, до полного размера
Упорядочить данные по полю типа Date, В TTable
Лучший DBGrid, Какой лучший DBGrid?
Доступ к событиям программно созданого объекта.
(FB/IB, IBX) - Ошибка в IBX!, Нашел и исправил
Упаковка индексированной таблицы Paradox, как сделать ?
Выподающий список
Почему Access ругается
Странный Tab
С помощью делфи подключится MS SQL 7.0, Делфи и MS SQL 7.0
Проблемы с Access, ADOTable2.Delete;
KADao и база Access
RESTORE DATABASE и TAdo.Connected
Мусор на рабочем столе, Как избежать?
Сохранить измененные данные в файле!
QReport, основы
Создание новой базы данных., *.mdb
BLOB has been modified.
Базу FoxPro не открыть, Базу FoxPro не открыть
Вопрос по Блоб - полям!, Извлечение значения через параметры Quer
через ADO к InterBase, подключение
как обновить Lookup поле
Что за ошибка?, Can not retrieve ResultSet data
Server, создание собственного сервера
Реальные примеры использования FreeReport
Пример работы с SMTP, вопрос
SQL запрос, Правильный sql запрос
Запись графического файла, в прле типа Graphic
ADOQuery и DataSource, не видят друг друна
Как выбрать и записать общее количество записей из
SQL или XML?, что выбрать...
Статья Vit'a в FAQ'е, Удивлен, что никто ее не читал...
Проблемы с кодировкой BDE
Как Вы относитесь к курящим девушкам?
Сервисы BDE, какие имеются
GUID как с ними работать
Работа с реестром..., Помогите, кто может...
DBLookUpComboBox, Связывание 2х таких
Выделить всю строку в DBGrid
изменение данных, из потоков
Индексирование таблиц, вопрос чай...............
FastReport, Cross-отчет, отчего зависит высота заголовка?
SQL-запросы при работе с Access
Как максимально уменьшить размер программы?, Как избавиться от лишнего кода?
Изменять текст в DBLookupComboBox
создание field в таблице
Сложная фильтрация, база данных
TComboBox.ReadOnly

Платные хостинги     Раскрутка сайта     Книги по программированию


Пример работы с SMTP, вопрос

Только здесь 1000 посетителей на Ваш сайт всего за 3 у.е.!

- В факах есть пример работы с SMTP, как прикрепить для отправки файл?

- Там же, в нашем FAQ есть пример

- unit Unit1;interfaceusesWindows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,StdCtrls, ExtCtrls, ComCtrls, Psock, NMsmtp;typeTForm1 = class(TForm)  Memo: TRichEdit;  Panel1: TPanel;  SMTP: TNMSMTP;  Panel2: TPanel;  FromAddress: TEdit;  predefined: TLabel;  FromName: TEdit;  Subject: TEdit;  LocalProgram: TEdit;  ReplyTo: TEdit;  islog: TCheckBox;  Host: TEdit;  Port: TEdit;  userid: TEdit;  Button1: TButton;  procedure Button1Click(Sender: TObject);private  Procedure CleanContext;  procedure PerformConnection;  procedure AddMessage(msg:string; color:integer);  procedure log(inpt :string);  Procedure SetSMTP;public  function SendEmail(_to, cc, bcc, Subject, body, attachment:string; HTMLFormat:boolean):boolean;end;varForm1: TForm1;implementation{$R *.DFM}Procedure TForm1.SetSMTP;beginSMTP.Host:=Host.Text;SMTP.Port:=strtoint(Port.text);SMTP.UserID:=userid.text;end;Function GetEmailDateTime:string;var tz:_time_Zone_information;    s:string;beginGetTimeZoneInformation(tz);if (tz.Bias*100 div 60)<1000 then  s:=format(' -0%d',[tz.Bias*100 div 60])else  s:=format(' -%d',[tz.Bias*100 div 60]);result:=formatdatetime('ddd, dd mmm yyyy hh:nn:ss',now)+s;end;Procedure TForm1.CleanContext;{set default values, some of them comes from "Setup" form}beginSMTP.PostMessage.FromAddress:=FromAddress.text;SMTP.PostMessage.FromName:=FromName.text;SMTP.PostMessage.ToAddress.Clear;SMTP.PostMessage.ToCarbonCopy.clear;SMTP.PostMessage.ToBlindCarbonCopy.clear;SMTP.PostMessage.Body.clear;SMTP.PostMessage.Attachments.clear;SMTP.PostMessage.Subject:=Subject.text;SMTP.PostMessage.LocalProgram:=LocalProgram.text;(*Mon, 27 Nov 2000 12:37:46 -0700*)SMTP.PostMessage.Date:=GetEmailDateTime;SMTP.PostMessage.ReplyTo:=ReplyTo.Text;end;procedure TForm1.log(inpt :string);var outf:textfile;begin  {writing in the log file}if not islog.checked then exit;assignfile(outf, changefileext(paramstr(0), '.log'));if fileexists(changefileext(paramstr(0), '.log')) then  append(outf)else  rewrite(outf);writeln(outf, datetimetostr(now)+'|'+inpt);closefile(outf);end;procedure TForm1.AddMessage(msg:string; color:integer);begin {showing in the memo field progress...}while memo.lines.Count>2000 do memo.lines.Delete(0);memo.sellength:=0;memo.selstart:=length(memo.text);memo.selattributes.Color:=Color;memo.seltext:=#13#10+DateTimeTostr(now)+' '+msg;memo.perform($00B7,0,0);Application.ProcessMessages;if color<>clRed then log(DateTimeTostr(now)+' '+msg) else log('Error: '+DateTimeTostr(now)+' '+msg);end;procedure TForm1.PerformConnection;beginwhile (not SMTP.connected) do  begin    SetSMTP;    AddMessage('Connecting to SMTP',clBlue);    application.processmessages;    try      SMTP.Connect;      AddMessage('No Errors',clBlue);    except      on e:exception do AddMessage('Error conection: '+e.message,clBlue);    end;  end;end;Function TForm1.SendEmail(_to, cc, bcc, Subject, body,  attachment:string; HTMLFormat:boolean):boolean;beginPerformConnection;result:=true;CleanContext;try  if (attachment<>'') and (not Fileexists(attachment)) then    begin      AddMessage('Attachment is not ready yet ('+ attachment+') ', clNavy);      sleep(300);      result:=false;      exit;    end;  SMTP.PostMessage.ToAddress.text:=StringReplace(_to, ';',#13#10, [rfReplaceAll, rfIgnoreCase]);  if cc<>'' then SMTP.PostMessage.ToCarbonCopy.text:=StringReplace(cc, ';',#13#10, [rfReplaceAll, rfIgnoreCase]);  if bcc<>'' then SMTP.PostMessage.ToBlindCarbonCopy.text:=StringReplace(bcc, ';',#13#10, [rfReplaceAll, rfIgnoreCase]);  if Subject<>'' then SMTP.PostMessage.Subject:=Subject;  if HTMLFormat then SMTP.SubType:=mtPlain else SMTP.SubType:=mtHtml;  SMTP.PostMessage.Body.Text:=Body;  if attachment<>'' then SMTP.PostMessage.Attachments.add(attachment);  AddMessage('Sending to '+ _to, clGreen);  SMTP.SendMail;  AddMessage('Complete.'+#13#10, clGreen);except  on e:sysutils.exception do    begin      AddMessage(e.message, clRed);      result:=false;    end;end;end;procedure TForm1.Button1Click(Sender: TObject);beginSendEmail('nevzorov@yahoo.com', '', '', 'test', 'body',  '', False);end;end.Тыкните мне слепому пальцем, плизКак и где сдесь прикрепить для отправки файл

- Сорри, я пропустил, кажись...SMTP.PostMessage.Attachments - этот объект ответственнен за прикрепление файлов. Помоему, там это делается простым методом Add... Код у меня на работе, точнее смогу сказать и исправить в FAQ на следующей неделе.

- Буду ждать!!

- Vit я все равно буду ждать?  

- Я смогу найти свой код не раньше понедельника-вторника, а почему бы тебе самому не по экспериментировать с объектом "SMTP.PostMessage.Attachments"? Там Help в Дельфи есть, примеры есть, что еще надо? По моему там надо только методом Add добавить файл и всё - у тебя это не получилось? Это не работает?

- Чтоб выбрать файлы которые будут отправленны:Добавь компоненты:OpenDialog1buttonListBoxКод procedure TForm1.Button1Click(Sender: TObject);begin  If OpenDialog1.Execute then    ListBox1.Items.Add(OpenDialog1.FileName);end;highlightSyntax('delphiEyMDIx','delphi');Отправляем с файлами.Код procedure TForm1.Button2Click(Sender: TObject);begin  NMSMTP1.PostMessage.FromAddress := 'Admin@lamer.ru';  NMSMTP1.PostMessage.FromName := 'BillGates';  NMSMTP1.PostMessage.Subject := 'make me blou job';  NMSMTP1.PostMessage.ToAddress.Add(Edit1.text);{//Поле едит содержит адрес получателя}  NMSMTP1.PostMessage.Attachments.AddStrings(Listbox1.Items);{Вот это тот самый ЛистБокс каторый хранит пути к файлам каторые будут отправленны}  NMSMTP1.PostMessage.Body.Assign(Memo1.Lines);{Текст письма}  NMSMTP1.SendMail; //Отправляем только если connectedend;highlightSyntax('delphiThkNTgw','delphi');

- Так, выбрал время, посмотрел внимательно на код, ничего там не пропущено - вот строка там есть для прикрепления файла:if attachment<>'' then SMTP.PostMessage.Attachments.add(attachment);А в вызове функции:Function TForm1.SendEmail(_to, cc, bcc, Subject, body,  attachment:string; HTMLFormat:boolean):boolean;указываешь имя прикреплённого файла

Интернет казино     Онлайн игры     Увеличение члена     Купить DVD


Главная страница | программирование модема | api программирование | чпу программирование | программирование шпаргалки | программирование 1232 | программированию ключей | программирование под linux | электронные учебники программирование | builder c программирование | языки программирования basic | метод динамического программирования | задачи нелинейного программирования | 1с программирование скачать | алгоритмические языки программирования | delphi 7 программирование | проект программирование | borland программирование | программирование pocket pc | кнут искусство программирования | программирование памяти | c программирование скачать | Ссылки

Все про проект программирование