2012-04-20 3 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 이벤트를 구독 할 수있는 방법은 없습니다.

내 생각 :

Attachments.Add 동기 경우 나는 즉시 파일을 삭제할 수
    • (또는 경우 모든 첨부 파일을 읽을 때까지 디스플레이 대기) 그때 x 초 동안 잠, 그리고 수
    • 파일을 삭제하십시오.
    • 어쩌면 이벤트에 가입 할 수있는 방법이 있으며 찾지 못했을 수 있습니다.

    세부 사항 : 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() 동기 것 같다.