Web アプリケーション (Java EE) からプログラムで lotusscript (スクリプト可能なボタンの形式) を生成し、それをエンドユーザーに送信して、エンドユーザーが Lotus Notes クライアントで実行しようとしています。
どうすればこれを達成できますか?lotusscript をメールに埋め込むために使用する API はありますか?
Web アプリケーション (Java EE) からプログラムで lotusscript (スクリプト可能なボタンの形式) を生成し、それをエンドユーザーに送信して、エンドユーザーが Lotus Notes クライアントで実行しようとしています。
どうすればこれを達成できますか?lotusscript をメールに埋め込むために使用する API はありますか?
ボタンを埋め込もうとするのではなく、Notes の「ドキュメントにフォームを保存」機能を利用することを検討します。
つまり、Domino Designer を使用して手動でデータベースを作成します (便宜上、"MyDb.nsf" と呼びます)。このデータベースにフォーム (便宜上「MyForm」) を作成し、電子メール メッセージに必要なフィールド (SendTo、Subject、Body など) を設定します。次に、フォームにボタンを作成し、LotusScript コードを入力します。
これを事前に行っておくと、コードでattachForm
Document.send() メソッドのオプション パラメータを利用できます。
通常の方法で MyDb.nsf を開き、 を使用Database.createDocument()
してそのデータベースにドキュメントを作成し、 を使用Document.ReplaceItemValue("Form","MyForm")
してこのドキュメントをフォームにバインドします。また、必要に応じて他の項目 (件名、送信先、本文など) を設定し、すべて完了したら を呼び出しますDocument.send(true)
。これにより、フォームが文書に埋め込まれて送信されるため、LotusScript コードは、メッセージとともに送信される埋め込みフォームで移動します。
フォームを埋め込んだときにフォーム上の署名が保持されると思うので、これが最適な方法であると思います。それについてはよくわかりませんが、一方で、CORBA/IIOP を使用して送信する他の方法では、署名されていないスクリプトが返されることは確かです (CORBA/IIOP は署名に必要な秘密鍵にアクセスできないため)。ドキュメント)。また、署名されていないスクリプトは、ユーザーが実行時に ECL 警告を受け取ることを意味します。これにより、署名されていないスクリプトを許可するために ECL にエントリが追加される可能性があり、これはセキュリティ対策として不適切です。
ここにアイデアがあります。私はそれを試したことがなく、うまくいくかどうか確信が持てません:
Document.send()
ます。CORBA/IIOP を使用して Domino サーバーに接続すると、これで動作するはずです。アップデート
DXL 部分をスキップして、文書項目の LotusScript を変更するだけでよい場合があります。受信者ごとに LotusScript を変更する必要があることを理解しました。そうでない場合は、すべてがはるかに簡単になります(リチャーズの回答を参照)。