2012-03-16T09:34:47 KeanIch möchte also keine empfangenen Emails öffnen sondern ein neues Emailfenster mit einem Betreff und Text zum versenden öffnen.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23
use warnings; use strict; use Win32::API; my $ShellExecute = new Win32::API( 'shell32', 'ShellExecuteA', [ qw( N P P P P I ) ], 'N' ); my $recipient = 'foo@example.com'; my $subject = 'Hello World'; my $body = '... funktioniert :)'; $ShellExecute->Call( 0, 'open', 'mailto:' . $recipient . '?subject=' . $subject . '&body=' . $body, 0, 0, 1 );
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17
use Win32::OLE; use Win32::OLE::Const 'Microsoft Outlook'; my $outlook = new Win32::OLE('Outlook.Application') or die "Could not open Outlook Application!\n"; my $msg = $outlook -> CreateItem(0); unless ($msg){ die "Outlook is not running, cannot send mail.\n"; } $msg->{'To'} = 'test@domain.de'; $msg->{'Subject'} = 'Betreff'; $msg->{'BodyFormat'} = 'olFormatHTML'; $msg->{'HTMLBody'} = 'Dies ist ein <b>Test</b>'; my $attach = $msg->{'Attachments'}; $attach->add('c:\anhang.txt'); $msg->Display();