Registriert seit: 16. Mär 2004
2.287 Beiträge
|
Re: EMail in RichEdit
17. Apr 2007, 15:28
Also, ich verwende ein TJvRichEdit...
SendMail habe ich irgendwoher kopiert, kA wo.
Delphi-Quellcode:
procedure TForm_Main.Rch_InfoURLClick(Sender: TObject; const URLText: string; Button: TMouseButton);
begin
case Button of
mbLeft:SendMail('Feedback zu "'+cAppTitle+'"','','EmailAddy','EmailAddy',True);
end;
end;
procedure SendMail(Subject,Mailtext,FromAdress,ToAdress:string;ShowDialog:boolean);
var Msg: TMapiMessage;
MError: Cardinal;
Empfaenger, Absender: TMapiRecipDesc;
begin
with Msg do begin
ulReserved:=0;
lpszSubject:=PChar(Subject);
lpszNoteText:=PChar(Mailtext);
lpszMessageType:=nil;
lpszDateReceived:=nil;
lpszConversationID:=nil;
flFlags := 0;
// Absender
Absender.ulReserved:=0;
Absender.ulRecipClass:=MAPI_ORIG;
Absender.lpszName:='';
Absender.lpszAddress:= PChar(FromAdress);
Absender.ulEIDSize:=0;
Absender.lpEntryID:=nil;
lpOriginator := @Absender;
// Empfänger
nRecipCount := 1;
Empfaenger.ulReserved:=0;
Empfaenger.ulRecipClass:=MAPI_TO;
Empfaenger.lpszName:='';
Empfaenger.lpszAddress:=PChar(ToAdress);
Empfaenger.ulEIDSize:=0;
Empfaenger.lpEntryID:=nil;
lpRecips:=@Empfaenger;
// Kein Anhang
nFileCount:=0;
end;
// Senden
if ShowDialog then
MError:=MapiSendMail(0, 0, Msg, MAPI_DIALOG or MAPI_LOGON_UI, 0)
else
// Wenn kein Dialogfeld angezeigt werden soll:
MError:=MapiSendMail(0, 0, Msg, 0, 0);
case MError of
MAPI_E_AMBIGUOUS_RECIPIENT: MessageDlg(cEMRecipient,mterror,[mbok],0);
MAPI_E_BAD_RECIPTYPE: MessageDlg(cEMRecipType,mterror,[mbok],0);
MAPI_E_FAILURE: MessageDlg(cEMUnknown,mterror,[mbok],0);
MAPI_E_INSUFFICIENT_MEMORY: MessageDlg(cEMMemory,mterror,[mbok],0);
MAPI_E_LOGIN_FAILURE: MessageDlg(cEMLogin,mterror,[mbok],0);
MAPI_E_TEXT_TOO_LARGE: MessageDlg(cEMTextLength,mterror,[mbok],0);
MAPI_E_USER_ABORT: MessageDlg(cEMAbort,mterror,[mbok],0);
// SUCCESS_SUCCESS: MessageDlg('Senden erfolgreich.',mtinformation,[mbok],0);
end;
end;
[Edit]
uses MAPI, Graphics, Dialogs, SysUtils, Classes, Windows, WinInet;
keine Ahnung was davon wirklich gebraucht wird, habe in der Unit auch noch einiges andere drin.
»Unlösbare Probleme sind in der Regel schwierig...«
|