Was liefert MapiSendMail denn zurück? Die Vermutung liegt nahe, dass es ein von dir nicht erwarteter Fehlercode ist. Leider ignorierst du den aber. Stattdessen solltest du dann diesen unbekannten Code auch ausgeben, wenn der Wert ungleich 0 (also Erfolg) ist. In deiner Liste fehlt z.B. noch MAPI_E_INVALID_RECIPS. GetLastError kannst du auch noch prüfen.
Da du noch Delphi 7 nutzt, nutzt du die
Ansi-Variante. In der Doku steht aber eindeutig:
Zitat:
MAPISendMail ist für die Verwendung in den Betriebssystemen verfügbar, die im Abschnitt Anforderungen angegeben sind. Es kann in nachfolgenden Versionen geändert oder entfernt werden. Verwenden Sie stattdessen MAPISendMailW.
Es ist daher durchaus möglich, dass unter Windows 11 nur noch MAPISendMailW korrekt funktioniert.