The Perl Toolchain Summit needs more sponsors. If your company depends on Perl, please support this very important event.

NAME

Mail::File - mail module which writes to a flat file.

SYNOPSIS

  use Mail::File;

  my $mail = Mail::File->new(template => 'mailXXXX.tmp');
  $mail->From('me@example.com');
  $mail->To('you@example.com');
  $mail->Cc('Them <them@example.com>');
  $mail->Bcc('Us <us@example.com>; anybody@example.com');
  $mail->Subject('Blah Blah Blah');
  $mail->Body('Yadda Yadda Yadda');
  $mail->XHeader('X-Header' => 'Blah Blah Blah');
  $mail->send;

  # Or use a hash
  my %hash = (
        From       => 'me@example.com',
        To         => 'you@example.com',
        Cc         => 'Them <them@example.com>',
        Bcc        => 'Us <us@example.com>, anybody@example.com',
        Subject    => 'Blah Blah Blah',
        Body       => 'Yadda Yadda Yadda',
        'X-Header' => 'Blah Blah Blah',
        template   => 'mailXXXX.tmp'
  );

  my $mail = Mail::File->new(%hash);
  $mail->send;

DESCRIPTION

This module was written to overcome the problem of sending mail messages, where there is no mail application is available.

The aim of the module is to write messages to a text file, that will format the contents to include all the key elements of the message, such that the file can be transported to another machine, which is then capable of sending mail messages.

Notes that the filename template defaults to 'mail-XXXXXX.eml'.

METHODS

new()

Create a new mailer object. Returns the object on success or undef on failure.

All the following can be pass as part of an anonymous hash:

  From
  To
  Cc
  Bcc
  Subject
  Body
  template

The template entry is optional, and is only supplied when you call the constructor. The format of the string to template follows the format as fox File::Temp. However, a suffix is automatically extracted. An example template would be:

  mail-XXXX.tmp

Where the temnplate to File::Temp would be 'mail-XXXX' and the suffix would be '.tmp'.

The default template, if none is supplied is:

  mail-XXXXXX.eml
Accessor Methods

The following accessor methods are available:

  From  
  To  
  Cc  
  Bcc  
  Subject  
  Body

All functions can be called to return the current value of the associated object variable, or be called with a parameter to set a new value for the object variable.

XHeader($xheader,$value)

Adds a header in the style of 'X-Header' to the headers of the message. Returns undef if header cannot be added.

send()

Sends the message. Returns the filename on success, 0 on failure.

Really just writes to a file.

TODO

May add the ability to handle MIME content headers and attachments.

BUGS, PATCHES & FIXES

There are no known bugs at the time of this release. However, if you spot a bug or are experiencing difficulties that are not explained within the POD documentation, please submit a bug to the RT system (see link below). However, it would help greatly if you are able to pinpoint problems or even supply a patch.

Fixes are dependent upon their severity and my availability. Should a fix not be forthcoming, please feel free to (politely) remind me by sending an email to barbie@cpan.org .

RT: http://rt.cpan.org/Public/Dist/Display.html?Name=Mail-File

AUTHOR

  Barbie, <barbie@cpan.org>
  for Miss Barbell Productions, <http://www.missbarbell.co.uk>

COPYRIGHT AND LICENSE

  Copyright (C) 2003-2012 Barbie for Miss Barbell Productions.

  This module is free software; you can redistribute it and/or
  modify it under the Artistic Licence v2.