Perl для системного администрирования



              

Отправка почты - часть 3


use Mac::Glue ':glue ;

$e=new Mac::Glue 'Eudora';

$to="someone\@example.com"; $f rom="me\(<}>exainple. com";

$subject="Hi there"; $body="<riessage body";

$e->make(

new => 'message',

at => location(end => $e->obj(mailbox => 'Out')) );

$e->set($e->obj(field => from => message => 0), to =4 $froin):

$e->set($e->obj(field => to => message => 0), to => $to);

$e->set($e->ob](field => subject => message => 0), to => Ssubject);

$e->set($e->prop(body => message => 0), to => $body);

$e->queue($e->obj(message => 0)); $е->соппесц sending => 1, checking => 0);

$e->quit;

В NT можно обратиться к библиотеке Collaborative Data Objects Library (раньше она называлась Active Messaging), простой в использовании надстройке на архитектуре MAPI (интерфейс прикладного программирования систем передачи сообщений). Вызвать эту библиотеку для управления таким почтовым клиентом, как Outlook можно, применив модуль Win32: :OLE следующим образом:

$to="me\(Sexample.com"; $subject="Hi there";

$body="message body\n";

use Win32::OLE;

# инициализируем OLE и COINIT_OLEINITIALIZE,

необходимые при и использовании объектов MAPI.Session

Win32: :OLE->Initialize(Win32: :OLE: :COINIT__OLEINITIALI7E): die Win32: :OLE->LastEr'-or(), "\n"

if Win32: :OLE->LastErrc-( V

 создаем объект сессии, который вызовет logoff при уничтожени

my Ssession = Win32::OLE->new('MAPI.Session','Logoff);

die Win32::OLE->LastError();"\n" if Win32::OLE->LastError();

№ регистрируемся в этой сессии, используя OL98 Internet Profile по

$session->Logon('Microsoft Outlook Internet Settings').

die Win32: :OLE->LastError(),"\n" if Win32::OLE->LastError();

 создаем обьект message

my Smessage = $session->Outbox->Messages->Add:

die Win32:'OLE->LastError(),"\n" if Win32::OLE->LastError():




Содержание  Назад  Вперед