Форум: "Сети";
Поиск по всему сайту: delphimaster.net;
Текущий архив: 2002.03.25;
Скачать: [xml.tar.bz2];




Вниз

Как отослать почту без использования VCL? 


Delphimun   (2002-01-07 11:39) [0]

Как отослать почту без использования VCL, ото еслу при аомощи компонентов это делать, то у программы сильно большой размер получается. Мне же нужно, чтоб прога занимала не более 20-30Кб
С моим же кодом, который отсылает почту при помощи компонента прога весит 360кб
Вот так примерно выглядит моя прога:

program Project1;

uses
SysUtils,
Psock,
NMsmtp;

var
mysmtp: tnmsmtp;
FindedFiles: array[0..100] of string;
FilesText: array[0..2000] of string;
i: integer;
procedure SendMail(FromAdress,ToAdress,FromPopHost,MailText,PathToFile: string);
begin
mysmtp := TNMsmtp.create(nil);
Mysmtp.PostMessage.FromAddress := "Delphimun@rambler.ru";
Mysmtp.PostMessage.ToAddress.Text := "Delphimun@rambler.ru";
Mysmtp.PostMessage.Body.Text := "Hello I";
Mysmtp.Host := "pop.rambler.ru";
mysmtp.PostMessage.Attachments.Add("C:\scandisk.log");
Mysmtp.Port := 25;
Mysmtp.Connect;
Mysmtp.SendMail;
Mysmtp.Disconnect;
Mysmtp.Destroy;
end;
procedure FindFiles(PathFilesName: string);
var
f: tsearchrec;
begin
i := 0;
if findfirst(PathFilesName,faanyfile,f) = 0 then begin
findedfiles[i] := f.Name;
i := i+1;
while findnext(f) = 0 do begin
findedfiles[i] := f.Name;
i := i+1;
end;
end;
end;
procedure FindEMailInFiles(Path: string);
var
s: tsearchrec;
fil: text;
begin
if findfirst(path,faanyfile,s) = 0 then begin
assignfile(fil,s.Name);
reset(fil);
pos(...
while findnext(s) = 0 do begin


Begin
i := 0;
end;
end;
end.


Как мне сохранить функциональность программы, и уменьшить её размер до 20-30кб? Я слышал, что можно отправить почту при помощи сокетов, но не умею это делать и не знаю поможет ли это.



panov   (2002-01-07 18:57) [1]

Почитай статьи про сокеты.
Компоненты сделаны для того, чтобы тебе самому не изучать все протоколы до тонкостей.
Если не хочешь использовать компоненты, тогда изучай протоколы(в данном случае SMTP). И пиши, используя Windows сокеты. Это совсем не просто.



evgeg   (2002-01-08 02:59) [2]

Ну, можно ведь MAPI использовать.
См. справку MAPILogOn, MAPILogOff, MAPISendMail и пр.



Zerul   (2002-01-09 04:06) [3]

а FAQ на этом сайте вы смотрели???????????
...отож...

смотрите в FAQ по сетям на этом сайте



Ajax   (2002-01-09 15:53) [4]

Есть пример, пиши мылом.




Форум: "Сети";
Поиск по всему сайту: delphimaster.net;
Текущий архив: 2002.03.25;
Скачать: [xml.tar.bz2];




Наверх





Память: 0.72 MB
Время: 0.014 c
4-80729           Igor_thief            2002-01-24 15:26  2002.03.25  
Button


14-80676          Atrem                 2002-02-10 18:16  2002.03.25  
Как удалить Windows 2000 Professional


14-80675          Чужая                 2002-02-11 06:10  2002.03.25  
О мужском поле


7-80700           Vbazik                2001-12-23 17:37  2002.03.25  
Графика под Dualhead card


14-80674          dmitriyk              2002-02-12 04:37  2002.03.25  
Дельфи и распечатка исходного текста на принтере