2

フォーマットされたメッセージとアドレスを電子メールクライアントに送信するために必要なアプリケーションがあります(たとえば、Lotus Notes、Outlookなど-できれば前者)。次に、クライアントは介入なしでそのメッセージをバックグラウンドでメールで送信する必要があります(つまり、クライアントで送信を押す必要はありません)。

メッセージがあり、アドレスがあり、デフォルトの電子メールクライアントを選択する方法を知っています。

事前にフォーマットされたメッセージとアドレス(MAIL:TOを推測しています)を送信し、クライアントにメッセージを自動的に送信させるにはどうすればよいですか?

アプリケーションはC++とQtです。おそらく、クライアントのAPIを呼び出す必要があります。彼らはこれらを公開していますか?

4

1 に答える 1

0

これは多少プラットフォームに依存し、次の 2 つの方法のいずれかで処理できます。(ソケットを使用して) 接続するメール サーバー プロセスがあります。または、出力をメール クライアント (mailまたはmailx Unix の下) にパイプします。通常、メール クライアントへのパイプはより簡単ですが、Windows マシンにすぐに使用できるパイプがあるかどうかはわかりません。(デフォルトの電子メール クライアントがあるとしますが、どのような形式でしょうか? URL の場合はソケットを使用する必要があり、ローカル プログラムの名前の場合はパイプを使用する必要があります。)

どちらの場合も、streambuf出力を処理する を作成して、 のすべての書式設定の可能性を使用する ことをお勧めしますstd::ostream

バックグラウンドで実行する場合、最も確実な方法は別のプロセスを作成することです。データをファイルに書き込み、systemメール クライアントを実行して終了時にファイルを削除するために使用します (小さなバッチ スクリプト)。または、メールが送信される前にプロセスが強制終了されないことが確実な場合は、別のスレッドで実行できます。

于 2012-08-24T08:31:13.930 に答える