2011-12-11 2 views
7

Outlook에서 첨부 파일이있는 메일을 만들어 전송하기 전에 표시하고 싶습니다.하지만 인터넷에서 거의 모든 샘플을 찾았습니다. Indy를 사용할 수는 있지만 업무용 메일이기 때문에 Outlook을 사용하여 메일이 적합한지 확인하고 싶습니다.Outlook에서 첨부 파일이있는 메일 작성 및 표시

주소, 제목, 메시지 및 첨부 파일을 매개 변수로 사용하여 메시지를 보내기 전에 Outlook에 메시지를 표시하는 기능의 입력입니다.

답변

14

MailItem.Display Method을 참조하십시오.

uses 
    comobj; 

.. 

procedure DisplayMail(Address, Subject, Body: string; Attachment: TFileName); 
var 
    Outlook: OleVariant; 
    Mail: Variant; 
const 
    olMailItem = $00000000; 
begin 
    try 
    Outlook := GetActiveOleObject('Outlook.Application'); 
    except 
    Outlook := CreateOleObject('Outlook.Application'); 
    end; 
    Mail := Outlook.CreateItem(olMailItem); 
    Mail.To := Address; 
    Mail.Subject := Subject; 
    Mail.Body := Body; 
    if Attachment <> '' then 
    Mail.Attachments.Add(Attachment); 
    Mail.Display; 
end; 

procedure TForm1.Button1Click(Sender: TObject); 
begin 
    DisplayMail('mailaddress', 'subject', 'message', 'attachmentfile'); 
end; 
+0

아직까지 사용하고있는 코드와 거의 같은 코드이기 때문에 내가 잘못하고있는 것은 확실하지 않습니다. 다른 한편으로 코드가 작동합니다. Outlook_TLB를 사용하고 있다는 사실과 관련이 있는지 궁금합니다. 그러나이 작업을 수행 할 수 없는지는 알 수 없습니다. 코드에 수신 확인 및 배달 확인 요청을 추가 할 수 있는지 알고 있습니까? – OZ8HP

+1

영수증 읽기 요청의 경우 ['ReadReceiptRequested' (http://msdn.microsoft.com/en-us/library/ff865400.aspx) 속성을 확인하고'Mail.ReadReceiptRequested : = True; '로 사용하십시오. – TLama

+1

.. 'OriginatorDeliveryReportRequested' 속성이 있습니다. –