Beefy Boxes and Bandwidth Generously Provided by pair Networks
P is for Practical

(Win32): vmail - edit Outlook email in VIM

by osfameron (Hermit)
on May 24, 2002 at 12:06 UTC ( #169029=snippet: print w/replies, xml ) Need Help??
Description: Uses Win32::OLE to edit your Outlook mail from Vim (here, gvim). Not very sophisticated, but demonstrates the use of Win32::OLE to control the Outlook Object model.

To use:

  • Save the script as
  • Run pl2bat
  • Move vmail.bat into your PATH
  • When you have an Outlook message window open, do Start - Run - vmail
  • Make your changes, save and exit.
UPDATE: Modified so that if there is no active item, a new mail message will be created.
use strict;
use warnings;
use Win32::OLE;
use File::Temp qw/ tempfile tempdir /; 

my $dir = tempdir( CLEANUP => 1 );
my ($fh, $filename) = tempfile( DIR => $dir, SUFFIX=> '.mail' );

my $out = Win32::OLE->new('Outlook.Application') or die "oops\n";

my ($ins, $ai);

if (! (($ai=$out->Application->ActiveInspector) && ($ins=$ai->CurrentI
+tem))) {
    $ins=$out->CreateItem(0);  # 0 = olMailItem
print $fh $ins->Body;
close $fh;

system "gvim $filename";

open ($fh, $filename) or die;
local $/=undef;

my $body=<$fh>;
Log In?

What's my password?
Create A New User
Domain Nodelet?
Node Status?
node history
Node Type: snippet [id://169029]
and the web crawler heard nothing...

How do I use this? | Other CB clients
Other Users?
Others browsing the Monastery: (3)
As of 2023-09-22 22:00 GMT
Find Nodes?
    Voting Booth?

    No recent polls found