Предыдущая тема :: Следующая тема |
Автор |
Сообщение |
olga_1308 Гость
|
Добавлено: Вт Апр 09 2002 17:19 Заголовок сообщения: почтовая форма с аттачментом |
|
|
Люди, помогите найти скрипт по отправке с сайта почтовой формы, в которой есть аттачмент |
|
Вернуться к началу |
|
|
Adil Гость
|
Добавлено: Ср Апр 10 2002 10:52 Заголовок сообщения: Re: почтовая форма с аттачментом |
|
|
Я пользовался компонентом TNMSMTP (BCB5) - это просто. Если это подходит, могу вывесить
Best regards. |
|
Вернуться к началу |
|
|
olga_1308 Гость
|
Добавлено: Чт Апр 11 2002 13:35 Заголовок сообщения: Re: почтовая форма с аттачментом |
|
|
Было бы просто здорово!
|
|
Вернуться к началу |
|
|
Adil Гость
|
Добавлено: Чт Апр 11 2002 14:42 Заголовок сообщения: Re: почтовая форма с аттачментом |
|
|
Высылаю: //----------------------------------------------------------.. начала/останова отсылки void __fastcall TMainWin::Button1Click(TObject *Sender) { if(Button1->Caption=="Stop") { StopSending();//см. ниже return; } NMSMTP1->PostMessage->Attachments->Clear(); // список файлов для отсылки у меня в TListView "SALV" for(int i=0;iItems->Count;i++) {//бегу по всем Items TListView TListItem *li=SALV->Items->Item[i]; if(li && li->Data)// имена файлов храню как (char*)li->Data { TItemData *id=(TItemData*)(li->Data); if(id->filedoc)//если есть имя файла, то добавляю к списку файлов для аттачмента NMSMTP1->PostMessage->Attachments->Add(id->filedoc); } } //очищаю текст письма - на всякий случай NMSMTP1->PostMessage->Body->Clear(); //Заполняю текст письма - беру его из Memo2 NMSMTP1->PostMessage->Body->Assign(Memo2->Lines); //Если строка даты отсылки пустая, то TNMSMTP сам вставит текущую NMSMTP1->PostMessage->Date=EmptyStr; //откуда NMSMTP1->PostMessage->FromAddress="kazimoff@yahoo.com"; //какая программа отослала письмо NMSMTP1->PostMessage->LocalProgram=ExtractFileName(Application->ExeNam.. //далее и так понятно NMSMTP1->PostMessage->ReplyTo=EmptyStr; NMSMTP1->PostMessage->Subject=SubjEdit->Text; //очищаю список адресов отсылки NMSMTP1->PostMessage->ToAddress->Clear(); // и заполняю его одним адресом из Edit1 NMSMTP1->PostMessage->ToAddress->Add(Edit1->Text); //без копий NMSMTP1->PostMessage->ToBlindCarbonCopy->Clear(); NMSMTP1->PostMessage->ToCarbonCopy->Clear(); Memo1->Lines->Add("Start sending..."); Button1->Caption="Stop"; CGauge1->Progress=0; try{ //если нет коннекта, то сконнективаюсь if(!NMSMTP1->Connected) NMSMTP1->Connect(); //начало отсылки NMSMTP1->SendMail(); }catch(...) { } } //--------------------------------------------------------------.. обработчик события "Attachment Not Found" void __fastcall TMainWin::NMSMTP1AttachmentNotFound(AnsiString Filename) { Memo1->Lines->Add("Attachment Not Found"); StopSending(); } //-------------------------------------------------.. отсылки void __fastcall TMainWin::StopSending() { if(NMSMTP1->Connected) NMSMTP1->Disconnect(); if(Button1->Caption!="Send") { Button1->Caption="Send"; Memo1->Lines->Add("Stop!"); CGauge1->Progress=0; } } //---------------------------------------------------------------.. этом обработчике рисую прогресс отсылки void __fastcall TMainWin::NMSMTP1PacketSent(TObject *Sender) { if(NMSMTP1->BytesTotal>0) CGauge1->Progress=NMSMTP1->BytesSent*100/NMSMTP1->BytesTotal; } //--.. properties: object NMSMTP1: TNMSMTP Port = 25 ReportLevel = 0 //в этих обработчиках ... |
|
Вернуться к началу |
|
|
Adil Гость
|
Добавлено: Чт Апр 11 2002 14:46 Заголовок сообщения: Re: почтовая форма с аттачментом |
|
|
Досылаю остаток -> //TNMSMTP properties: object NMSMTP1: TNMSMTP Port = 25 ReportLevel = 0 //в этих обработчиках просто веду протокол OnDisconnect = NMSMTP1Disconnect OnConnect = NMSMTP1Connect OnInvalidHost = NMSMTP1InvalidHost OnHostResolved = NMSMTP1HostResolved OnConnectionFailed = NMSMTP1ConnectionFailed OnPacketSent = NMSMTP1PacketSent EncodeType = uuMime ClearParams = True SubType = mtPlain Charset = 'us-ascii' OnSuccess = NMSMTP1Success OnFailure = NMSMTP1Failure OnAttachmentNotFound = NMSMTP1AttachmentNotFound OnAuthenticationFailed = NMSMTP1AuthenticationFailed Left = 288 end
//В OnCreate формы NMSMTP1->Host="192.168.0.2";//адресс почтового сервера, у меня сервер в локалке, поэтому и адресс такой NMSMTP1->UserID="Adil";//login для коннекта
Удачи. |
|
Вернуться к началу |
|
|
olga_1308 Гость
|
Добавлено: Пт Апр 12 2002 11:48 Заголовок сообщения: Re: почтовая форма с аттачментом |
|
|
СПАСИБО! Буду разбираться. |
|
Вернуться к началу |
|
|
|