代わりにMAPI ( )を使用できますMessaging Applications Programming Interface
。これにより、電子メールをより適切に制御でき、添付ファイルなどを許可できます。ユーザーの電子メール クライアントの「作成」ウィンドウを表示するか、送信トレイに直接追加するかを選択することもできます。(特に MS Outlook に関する Windows セキュリティの変更により、通常、送信ボックス機能は現在制限されています。)
最も迅速で簡単な方法は、JEDI Code Library JCLEMail
などを使用することです。これは SimpleMAPI のラッパーであり、非常に簡単です (コードは古いアプリから取得され、JCL デモのサンプルに基づいています)。
EMail := TJclEMail.Create;
try
EMail.Recipients.Add(AnsiString(EMailAddress), AnsiString(EMailName));
EMail.Subject := AnsiString(Subject);
EMail.Body := AnsiString(Body);
EMail.HtmlBody := False; // True if it's HTML email
// Send attachment if wanted
EMail.Attachments.Add(AnsiString(FileName));
EMail.Send(True); // True to show default email, false to add to outbox
finally
EMail.Free;
end;
の欠点SimpleMAPI
は、それが短期的な解決策になる可能性があることです (ただし、Win7 64 ビット以前ではまだ存在しますが、Windows 8 について話すことはできません)。MSDNによると、
[Simple MAPI の使用は推奨されません。以降のバージョンの Windows では変更されるか、使用できなくなる可能性があります。]
の欠点は、インストールされているクライアントにMAPI
依存していることです。MAPI
幸いなことに、サポートするほとんどすべてのソフトウェアも同様にサポートするmailto
必要があります。MAPI
たとえば、Outlook はそうですし、Mozilla Thunderbird もそうです。