Вниз
Скачать: CL | DM;

Отправка почты по IMAP.   Найти похожие ветки 

 
Смертник ©   (2004-08-31 05:30) [0]

Если кто сталкивался с отправкой почты по IMAP, объясните как это делается. Желательно примерчиком, кому не трудно.


 
Hel   (2004-09-02 11:24) [1]

Если речь идет про MAPI, то вот кусочек проги по отправки мыла:
function SendMailMAPI(const Subject, Body, FileName, SenderName, SenderEMail,
                 RecepientName, RecepientEMail: String) : Integer;
var
 message: TMapiMessage;
 lpSender,
 lpRecepient: TMapiRecipDesc;
 FileAttach: TMapiFileDesc;
 SM: TFNMapiSendMail;
 MAPIModule: HModule;
begin
 FillChar(message, SizeOf(message), 0);
 with message do
 begin
   if (Subject<>"") then
   begin
     lpszSubject := PChar(Subject)
   end;
   if (Body<>"") then
   begin
     lpszNoteText := PChar(Body)
   end;
   if (SenderEMail<>"") then
   begin
     lpSender.ulRecipClass := MAPI_ORIG;
     if (SenderName="") then
     begin
       lpSender.lpszName := PChar(SenderEMail)
     end
     else
     begin
       lpSender.lpszName := PChar(SenderName)
     end;
     lpSender.lpszAddress := PChar("SMTP:"+SenderEMail);
     lpSender.ulReserved := 0;
     lpSender.ulEIDSize := 0;
     lpSender.lpEntryID := nil;
     lpOriginator := @lpSender;
   end;
   if (RecepientEMail<>"") then
   begin
     lpRecepient.ulRecipClass := MAPI_TO;
     if (RecepientName="") then
     begin
       lpRecepient.lpszName := PChar(RecepientEMail)
     end
     else
     begin
       lpRecepient.lpszName := PChar(RecepientName)
     end;
     lpRecepient.lpszAddress := PChar("SMTP:"+RecepientEMail);
     lpRecepient.ulReserved := 0;
     lpRecepient.ulEIDSize := 0;
     lpRecepient.lpEntryID := nil;
     nRecipCount := 1;
     lpRecips := @lpRecepient;
   end
   else
   begin
     lpRecips := nil
   end;
   if (FileName="") then
   begin
     nFileCount := 0;
     lpFiles := nil;
   end
   else
   begin
     FillChar(FileAttach, SizeOf(FileAttach), 0);
     FileAttach.nPosition := Cardinal($FFFFFFFF);
     FileAttach.lpszPathName := PChar(FileName);
     nFileCount := 1;
     lpFiles := @FileAttach;
   end;
 end;
 MAPIModule := LoadLibrary(PChar(MAPIDLL));
 if MAPIModule=0 then
 begin
   Result := -1
 end
 else
 begin
   try
     @SM := GetProcAddress(MAPIModule, "MAPISendMail");
     if @SM<>nil then
     begin
       Result := SM(0, Application.Handle, message, MAPI_LOGON_UI, 0);
       //SM(0, Application.Handle, message, MAPI_SENT, 0);
     end
     else
     begin
       Result := 1
     end;

   finally
     FreeLibrary(MAPIModule);
   end;
 end;
 if Result<>0 then
 begin
   MessageDlg("Error sending mail ("+IntToStr(Result)+").", mtError, [mbOk],
              0)
 end;
end;


 
Смертник ©   (2004-09-06 06:44) [2]

Нет... Именно IMAP, а не MAPI. По MAPI куча примеров, а по IMAP нет... :))


 
Unax ©   (2004-09-07 00:39) [3]

Вообще-то по IMAP получают, а не отправляют почту.



Страницы: 1 вся ветка

Скачать: CL | DM;



Память: 0.46 MB
Время: 0.028 c
6-1094536049
WondeRu
2004-09-07 09:47
2004.11.14
Как оследить обрыв сети?


10-1059979362
Oleg Laukart
2003-08-04 10:42
2004.11.14
Работа с SocketConnection из разных потоков


3-1097653399
Lex_!
2004-10-13 11:43
2004.11.14
Динамическое изменение пути к базе в БДЕ


14-1098697906
Миша Белкин
2004-10-25 13:51
2004.11.14
C# or Delphi and .Net прекрасный дует?


3-1097483098
BanderLog
2004-10-11 12:24
2004.11.14
FB 1.5 Создания БД программно.




   Наверх