2011-12-11 18 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'が有効です。 –

関連する問題