2012-04-20 9 views
1

ファイルを作成し、添付ファイルとして電子メールで送信し、JScriptを使用してファイルを削除したいとします。Outlookでメールを一時的に送信する

ファイルをあまりに早く削除すると、Outlookがファイルを電子メールに添付できなくなるという問題があります。

私はMailItemを作成し、次のコードのように表示します。電子メールは自動的に送信されませんが、必要に応じてユーザーが編集できるように表示されます。

var outlook = new ActiveXObject("Outlook.Application"); 
var msg = outlook.CreateItem(0); 
msg.Recipients.Add(toAddress); 
msg.Subject = subject; 
msg.htmlbody = body; 
msg.Attachments.Add(attachment); 
msg.Display(); 

私の質問は、添付ファイルを削除するのはいつ安全ですか? MailItemにはイベントがあり、AttachmentAddイベントの添付ファイルを削除することができます。しかし、AFAIK、JScriptでActiveXObjectイベントを購読する方法はありません。その後、私はx秒のために眠ることができAttachments.Addが同期している場合(または場合表示待機すべての添付ファイルが読み取られるまで)私は、すぐにファイルを削除することができ

  • 、および:

    私の考えファイルを削除します。

  • イベントを購読する方法があるかもしれませんが、見つけられません。

詳細:

このスクリプトはWScriptの中で実行されている、すべての意図や目的のために、です。

これはOutlookバージョンに特定のものではありません。どのバージョンでも動作するはずです。

私はまた、いくつかの他のファイルをメールに添付します。

ご不明な点がありましたら、尋ねてください。

+0

一時フォルダーに作成し、次回の再起動時などに削除するようにマークできますか? –

+0

@AndrewFinnell:おそらく、ファイルが削除されれば早くなるほど良いでしょう。 –

+0

セキュリティ上の懸念から早急に取り除く必要がある場合は、おそらくOutlookはお勧めできません。 Outlookは送信前に一時ディレクトリにファイルのコピーを格納し、送信後にユーザーのPSTファイルに保存します。 –

答えて

0

私は次のコードを試してみました。

var fso = new ActiveXObject("Scripting.FileSystemObject"); 

var outlook = new ActiveXObject("Outlook.Application"); 
var msg = outlook.CreateItem(0); 
msg.Subject = "Subject"; 
msg.Body = "Body"; 
msg.Attachments.Add(file); 
fso.DeleteFile(file); // No problems. 
msg.Display(); 

これは、ドキュメント内の任意の場所に言及したが、同期するAttachments.Add()思われていません。

関連する問題