use strict; use warnings; use Win32::OLE; use Win32::OLE::Const 'Microsoft Outlook'; use Mail::Outlook; my $outlook = new Mail::Outlook(); my $folder = $outlook->folder('Drafts'); my $message = $outlook->create(); my %hash = ( To => 'user@mail.com', Subject => 'Blah Blah Blah', Body => 'Yadda Yadda Yadda', ); $message->save(); #### my $doc = Win32::OLE->GetObject($message); my $property = 'X-ICCategory'; my $value = '2'; my $docprops = $doc->CustomDocumentProperties(); unless (defined ($doc->CustomDocumentProperties($property))) { $docprops->Invoke('Add', { Name => $property, LinkToContent => 0, Type => 4, Value => $value, }); } $doc->CustomDocumentProperties($property)->{Value} = $value;