if AvailSpaceExt < 4000 then
// Email versenden
begin
Subject := 'Fesplatte fast voll';
MailText := 'Auf der Fesplatte sind weniger als 30 GB frei!!';
FromName := 'Server';
FromAdress := 'info@test.de';
ToName := 'test';
ToAdress := 'info@teset.de';
with MapiMessage do begin
ulReserved := 0;
// Betreff
lpszSubject := PAnsiChar(Subject);
// Body
lpszNoteText := PAnsiChar(MailText);
lpszMessageType := nil;
lpszDateReceived := nil;
lpszConversationID := nil;
flFlags := 0;
// Absender festlegen
Absender.ulReserved := 0;
Absender.ulRecipClass := MAPI_ORIG;
Absender.lpszName := PAnsiChar(FromName);
Absender.lpszAddress := PAnsiChar(FromAdress);
Absender.ulEIDSize := 0;
Absender.lpEntryID := nil;
lpOriginator := @Absender;
// Empfänger festlegen
Empfaenger[0].ulReserved := 0;
Empfaenger[0].ulRecipClass := MAPI_TO;
Empfaenger[0].lpszName := PAnsiChar(ToName);
Empfaenger[0].lpszAddress := PAnsiChar(ToAdress);
Empfaenger[0].ulEIDSize := 0;
Empfaenger[0].lpEntryID := nil;
lpRecips := @Empfaenger;
end;
// Senden
MError := MapiSendMail(0, Application.Handle, MapiMessage, 0, 0);
case MError of
MAPI_E_AMBIGUOUS_RECIPIENT:
MessageDlg('Empfänger nicht eindeutig',mterror,[mbok],0);
MAPI_E_BAD_RECIPTYPE:
MessageDlg('Empfängertyp nicht MAPI_TO, MAPI_CC oder MAPI_BCC.',mterror,[mbok],0);
MAPI_E_FAILURE:
MessageDlg('Unbekannter Fehler.',mterror,[mbok],0);
MAPI_E_INSUFFICIENT_MEMORY:
MessageDlg('Nicht genug Speicher.',mterror,[mbok],0);
MAPI_E_LOGIN_FAILURE:
MessageDlg('Benutzerlogin fehlgeschlagen.',mterror,[mbok],0);
MAPI_E_TEXT_TOO_LARGE:
MessageDlg('Text zu groß.',mterror,[mbok],0);
MAPI_E_TOO_MANY_RECIPIENTS:
MessageDlg('Zu viele Empfänger angegeben.',mterror,[mbok],0);
MAPI_E_UNKNOWN_RECIPIENT:
MessageDlg('Empfänger nicht im Adressbuch gefunden',mterror,[mbok],0);
MAPI_E_USER_ABORT:
MessageDlg('Benutzer hat Senden abgebrochen oder
MAPI nicht installiert.',mterror,[mbok],0);
end;
end