11

Outlook と OLE クライアントを使用して、Java アプリケーションで電子メールを作成したいと考えています。

例を検索したところ、かなりの数が見つかりました。それらはすべて同じ方法で開始します。

ディスプレイ、シェル、OLE フレーム、および OLE クライアント サイトを作成します。

しかし、次のいくつかの手順でエラーが発生します。

Display display = new Display();
Shell shell = new Shell(display);

shell.setText("Outlook Automation");
shell.setLayout(new FillLayout());

OleFrame frm = new OleFrame(shell, SWT.NONE);

OleClientSite site = new OleClientSite(frm, SWT.NONE,
                "Outlook.Application");

次のエラーが表示されます。

Exception in thread "main" org.eclipse.swt.SWTException: Failed to create Ole Client. result = -2147221164
at org.eclipse.swt.ole.win32.OLE.error(OLE.java:302)
at org.eclipse.swt.ole.win32.OleClientSite.<init>(OleClientSite.java:242)
at outlooktest.Main.main(Main.java:27)

私は OLE を知りません。何が間違っているのかわかりません。不足している依存関係はありますか? 誰かがこのエラーが何であるか知っていますか? エラーコードをグーグルで検索しましたが、何も見つかりませんでした。

編集

OLE が機能しない理由が誰にもわからない場合は、別の質問があります。Outlook 電子メールを作成して設定 (件名、本文など) することは可能ですか、またはライブラリはありますか?

編集2

x86 および x64 の jar ファイルが機能せず、同じエラーが発生しました。また、x86 および x64 用の SWT の最新バージョンも入手しました。OSもx64でjavaなので、x86のSWTライブラリは使えません。x64 では上記のエラーが発生します。Outlook のバージョンは 15 (Outlook 2013) です。

うまくいけば、これは役に立ちますか?

Processbuilder を介して動作するように電子メールを作成しましたが、mailto: パラメータのみを使用しました。ここでの問題は次のとおりです。

  • プロセスのステータスを追跡したい。メールがいつ閉じられたか、いつ送信されたか知りたいです。
  • クリップボードから本文に画像 (BufferedImage) を挿入したいのですが、これは mailto 引数では不可能です。
4

4 に答える 4

0

コム、

System.Diagnostics.Process.Start("mailto:someone@example.com?Subject=Hello%20again&body=your%20textBody%20here")

上記のコードを使用すると、Outlook メールが定義済みの mailto、件名、およびメールの本文で開かれます。CC にアドレスを追加する方法を教えてください。

于 2014-10-25T12:03:07.067 に答える
-1

Web で何かを使用している場合、これが役立ちます。

<!DOCTYPE html>
<html>
<body>

<p>
This is an email link:
<a href="mailto:someone@example.com?Subject=Hello%20again&body=your%20textBody%20here" target="_top">
Send Mail</a>
</p>

<p>
<b>Note:</b> Spaces between words should be replaced by %20 to ensure that the browser will display the text properly.
</p>

</body>
</html>

ただし、アプリケーションでは、プロセス mailto を開始できます。

お気に入り

System.Diagnostics.Process.Start("mailto:someone@example.com?Subject=Hello%20again&body=your%20textBody%20here")

すべての電子メール クライアントで動作します

于 2013-08-13T12:46:03.127 に答える