Использование COM объекта Outlook

Пример отсылки письма используя COM объект Outlook

uses Outlook_TLB;

{©Drkb v.3(2007): <a href="http://www.drkb.ru" title="www.drkb.ru">www.drkb.ru</a>,

 ®Vit (Vitaly Nevzorov) - nevzorov@yahoo.com}




var outlook : _application;

Procedure Init;

begin

 outlook := Coapplication_.Create;

end;

procedure SendEmail;

begin

 with Outlook.CreateItem(olMailItem) as mailitem do

  begin

  To_ := 'email@email.com';

  cc:='email2@email.com';

  Subject := 'This is subject line';

  Attachments.Add('FileName',1,1,'This is attachment');

  Body :='This is email body';

  Send;

  end;

end;

Автор: Vit (www.delphist.com, www.drkb.ru, www.unihighlighter.com, www.nevzorov.org)
Взято с Vingrad.ru http://forum.vingrad.ru

Автор: Eddie Shipman
Пример использует VB Script для Outlook, который позволяет произвести такую операцию. Создаётся OLE-объект - 'Outlook.Application' и в него передаётся скрипт.
Совместимость: все версии Delphi
Измените recipientaddress@recipienthost.com на Ваш собственный e-mail
адресс. У Вас должен быть проинсталирован Outlook,
{Я не уверен, что это будет работать в Outlook Express.}
Примечание Vit: Это точно не будет работать в Outlook Express

uses ComObj; {Delphi 5}

procedure TForm1.Button1Click(Sender: TObject);

Const

 // константы OlItemType

 olMailItem = 0;

 olAppointmentItem = 1;

 olContactItem = 2;

 olTaskItem = 3;

 olJournalItem = 4;

 olNoteItem = 5;

 olPostItem = 6;

 // константы OlAttachmentType

 olByValue = 1;

 olByReference = 4;

 olEmbeddedItem = 5;

 olOLE = 6;

var

 myOlApp, myItem, myRecipient, myAttachments: OleVariant;

begin

 // файл VBScript для создания почтового сообщения и прикрепления к нему файла

 myOlApp := CreateOLEObject('Outlook.Application');

 myItem := myOlApp.CreateItem(olMailItem);

 myItem.Subject := 'This is the Subject';

 myRecipient := myItem.Recipients.Add('recipientaddress@recipienthost.com');

 myItem.Body := #13;

 myItem.Body := myItem.Body + #13;

 myItem.Body := myItem.Body + 'Hello,' + #13;

 myItem.Body := myItem.Body + 'This code created this message and '+

  ' sent it and I didnt even have' + #13;

 myItem.Body := myItem.Body + 'to click the send button!!!' + #13;

 myItem.Body := myItem.Body + #13;

 myItem.Body := myItem.Body + 'If you have any more problems, let me know' +

#13;

 myItem.Body := myItem.Body + 'rename to blah.vbs and run like this:' + #13;

 myItem.Body := myItem.Body + 'wscript c:\blah.vbs' + #13;

 myItem.Body := myItem.Body + #13;

 myItem.Body := myItem.Body + 'Eddie' + #13;

 myItem.Body := myItem.Body + #13;

 myItem.Body := myItem.Body + #13;

 myItem.Body := myItem.Body + 'const'+ #13;

 myItem.Body := myItem.Body + ' // константы OlItemType'+ #13;

 myItem.Body := myItem.Body + ' olMailItem = 0;'+ #13;

 myItem.Body := myItem.Body + ' olAppointmentItem = 1;'+ #13;

 myItem.Body := myItem.Body + ' olContactItem = 2;'+ #13;

 myItem.Body := myItem.Body + ' olTaskItem = 3;'+ #13;

 myItem.Body := myItem.Body + ' olJournalItem = 4;'+ #13;

 myItem.Body := myItem.Body + ' olNoteItem = 5;'+ #13;

 myItem.Body := myItem.Body + ' olPostItem = 6;'+ #13;

 myItem.Body := myItem.Body + ' // OlAttachmentType constants'+ #13;

 myItem.Body := myItem.Body + ' olByValue = 1;'+ #13;

 myItem.Body := myItem.Body + ' olByReference = 4;'+ #13;

 myItem.Body := myItem.Body + ' olEmbeddedItem = 5;'+ #13;

 myItem.Body := myItem.Body + ' olOLE = 6;'+ #13;

 myItem.Body := myItem.Body + #13;

 myItem.Body := myItem.Body + 'var'+ #13;

 myItem.Body := myItem.Body + ' myOlApp, myItem, myRecipient, myAttachments:

OleVariant;'
+ #13;

 myItem.Body := myItem.Body + 'begin'+ #13;

 myItem.Body := myItem.Body + ' myOlApp := CreateObject(''Outlook.Application'')' + #13;

 myItem.Body := myItem.Body + ' myItem := myOlApp.CreateItem(olMailItem)' + #13;

 myItem.Body := myItem.Body + ' myItem.Subject := ''This is the Subject''' + #13;

 myItem.Body := myItem.Body + ' myItem.Body := ''This is the body''' + #13;

 myItem.Body := myItem.Body + ' myRecipient := myItem.Recipients.Add(''recipientaddress@recipienthost.com'')' + #13;

 myItem.Body := myItem.Body + ' myAttachments := myItem.Attachments' + #13;

 myItem.Body := myItem.Body + ' // Теперь прикрепим файлы...' + #13;

 myItem.Body := myItem.Body + ' myAttachments.Add ''C:\blah.txt'', olByValue,

1, '
'Blah.txt Attachment''' + #13;

 myItem.Body := myItem.Body + ' myItem.Send' + #13;

 myItem.Body := myItem.Body + ' myOlApp := VarNull;' + #13;

 myItem.Body := myItem.Body + ' myItem := VarNull;' + #13;

 myItem.Body := myItem.Body + ' myRecipient := VarNull;' + #13;

 myItem.Body := myItem.Body + ' myAttachments := VarNull;' + #13;

 myItem.Body := myItem.Body + 'end;' + #13;

 // Теперь прикрепим файлы...

 myAttachments := myItem.Attachments;

 myAttachments.Add('C:\blah.txt', olByValue, 1, 'Blah.txt Attachment');

 myItem.Send

 myOlApp := VarNull;

 myItem := VarNull;

 myRecipient := VarNull;

 myAttachments := VarNull;

End;

Отправить комментарий

Проверка
Антиспам проверка
Image CAPTCHA
...