Создание письма с вложением в Outlook и его отображение - PullRequest
7 голосов
/ 11 декабря 2011

Я хочу создать письмо с вложением в Outlook и отобразить его перед отправкой, но мне кажется, что я безуспешно попробовал почти каждый образец, найденный в сети. Я мог бы использовать Indy, но я бы очень хотел использовать Outlook, чтобы быть уверенным, что почта правильная, потому что она предназначена для использования в бизнесе.

Любой ввод для функции, которая принимает Адрес, тему, сообщение и вложение в качестве параметров, а затем отображает сообщение в Outlook перед отправкой.

1 Ответ

14 голосов
/ 11 декабря 2011

См. 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;
...