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

посылка письма   Найти похожие ветки 

← →
Arkan ©   (2002-11-27 22:59) [0]

Подскажите, как мне послать письмо, используя только winApi? с аттачментом желательно. Спасибо.


← →
Diamond Cat ©   (2002-11-28 00:19) [1]

не помню где вырулил такой сабж, автора тоже естественно не помню
unit Email;
interface
uses Windows, SusUtils, Classes;

function SendEmail(const RecipName, RecipAddress, Subject, Attachment: string): Boolean;

function IsOnline: Boolean;

implementation
uses Mapi;

function SendEmail(const RecipName, RecipAddress, Subject, Attachment: string): Boolean;
var
MapiMessage: TMapiMessage;
MapiFileDesc: TMapiFileDesc;
MapiRecipDesc: TMapiRecipDesc;
i: integer;
s: string;
begin
with MapiRecipDesc do begin
ulRecerved:= 0;
ulRecipClass:= MAPI_TO;
lpszName:= PChar(RecipName);
lpszAddress:= PChar(RecipAddress);
ulEIDSize:= 0;
lpEntryID:= nil;
end;

with MapiFileDesc do begin
ulReserved:= 0;
flFlags:= 0;
nPosition:= 0;
lpszPathName:= PChar(Attachment);
lpszFileName:= nil;
lpFileType:= nil;
end;

with MapiMessage do begin
ulReserved := 0;
lpszSubject := nil;
lpszNoteText := PChar(Subject);
lpszMessageType := nil;
lpszDateReceived := nil;
lpszConversationID := nil;
flFlags := 0;
lpOriginator := nil;
nRecipCount := 1;
lpRecips := @MapiRecipDesc;
if length(Attachment) > 0 then begin
nFileCount:= 1;
lpFiles := @MapiFileDesc;
end else begin
nFileCount:= 0;
lpFiles:= nil;
end;
end;

Result:= MapiSendMail(0, 0, MapiMessage, MAPI_DIALOG
or MAPI_LOGON_UI or MAPI_NEW_SESSION, 0) = SUCCESS_SUCCESS;
end;


function IsOnline: Boolean;
var
RASConn: TRASConn;
dwSize,dwCount: DWORD;
begin
RASConns.dwSize:= SizeOf(TRASConn);
dwSize:= SizeOf(RASConns);
Res:=RASEnumConnectionsA(@RASConns, @dwSize, @dwCount);
Result:= (Res = 0) and (dwCount > 0);
end;

end.

хотя может вам подойдет и простой shellexecute, просто в первом варианте письмо отправляется без всяких уведомлений юзверя



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

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



Память: 0.45 MB
Время: 0.014 c
1-37212
Zelius
2002-12-30 15:21
2003.01.13
Как в консольном приложении реализовать Press any key при выходе?


14-37372
AL2002
2002-12-20 12:02
2003.01.13
СредствА от выпадения волос


8-37228
Sergey V. Shadrin
2002-09-24 09:13
2003.01.13
разрешение экрана


7-37396
Azbul
2002-11-01 17:58
2003.01.13
такая проблема (+)


14-37283
Дремучий
2002-12-25 18:32
2003.01.13
Добавлена парочка прибамбасов....




   Наверх