Juan José San Martín > Email-Send-SMTP-Gmail > Email::Send::SMTP::Gmail

Download:
Email-Send-SMTP-Gmail-0.87.tar.gz

Dependencies

Annotate this POD

CPAN RT

Open  2
View/Report Bugs
Module Version: 0.87   Source  

NAME ^

Email::Send::SMTP::Gmail - Sends emails with attachments supporting Auth over TLS or SSL (for example: Google's SMTP).

SYNOPSIS ^

   use strict;
   use warnings;

   use Email::Send::SMTP::Gmail;

   my ($mail,$error)=Email::Send::SMTP::Gmail->new( -smtp=>'smtp.gmail.com',
                                                    -login=>'whateveraddress@gmail.com',
                                                    -pass=>'whatever_pass');

   print "session error: $error" unless ($email!=-1);

   $mail->send(-to=>'target@xxx.com', -subject=>'Hello!', -body=>'Just testing it',
               -attachments=>'full_path_to_file');

   $mail->bye;

DESCRIPTION ^

Simple module to send emails through Google's SMTP with or without attachments. Also supports regular Servers (with plain or none auth). Works with regular Gmail accounts as with Google Apps (your own domains). It supports basic functions such as CC, BCC, ReplyTo.

new(-login=>'', -pass=>'' [,-smtp=>'',layer=>'',-port=>'',-debug=>''])

It creates the object and opens a session with the SMTP.

smtp: defines SMTP server. Default value: smtp.gmail.com
layer: defines the secure layer to use. It could be 'tls', 'ssl' or 'none'. Default value: tls
port: defines the port to use. Default values are 25 for tls and 465 for ssl
timeout: defined Timeout for the connection. Default is 60 secs
auth: defines the authentication method: ANONYMOUS, CRAM-MD5, DIGEST-MD5, EXTERNAL, GSSAPI, LOGIN (default) and PLAIN. It's currently based on SASL::Perl module
debug: see the log information

Also supports SSL parameters as:

ssl_verify_mode: SSL_VERIFY_NONE | SSL_VERIFY_PEER
ssl_verify_path: SSL_ca_path if SSL_VERIFY_PEER
ssl_verify_file: SSL_ca_file if SSL_VERIFY_PEER
send(-from=>'', -to=>'', [-subject=>'', -cc=>'', -bcc=>'', -replyto=>'', -charset=>'', -body=>'', -attachments=>'', -verbose=>'1'])

It composes and sends the email in one shot

to, cc, bcc: comma separated email addresses
contenttype: Content-Type for the body message. Examples are: text/plain (default), text/html, etc.
attachments: comma separated files with full path
attachmentslist: hashref $list, in format $list->[x]->{name} of files with full path. Example: $list->[0]->{file}='/full_path/file.pdf'
bye

Closes the SMTP session

banner

Returns SMTP banner

Examples ^

Examples

Send email composed in HTML using Gmail

      use strict;
      use warnings;
      use Email::Send::SMTP::Gmail;
      my ($mail,$error)=Email::Send::SMTP::Gmail->new( -smtp=>'smtp.gmail.com',
                                                       -login=>'whateveraddress@gmail.com',
                                                       -pass=>'whatever_pass');

      print "session error: $error" unless ($email!=-1);

      $mail->send(-to=>'target@xxx.com', -subject=>'Hello!',
                  -body=>'Just testing it<br>Bye!',-contenttype=>'text/html');
      $mail->bye;

Send email using a SMTP server without secure layer and authentication

      use strict;
      use warnings;
      use Email::Send::SMTP::Gmail;
      my $mail=Email::Send::SMTP::Gmail->new( -smtp=>'my.smtp.server',-layer=>'none', -auth=>'none');

      $mail->send(-from=>'sender@yyy.com', -to=>'target@xxx.com', -subject=>'Hello!',
                  -body=>'Quick email');
      $mail->bye;

Send email with attachments in comma separated format

      use strict;
      use warnings;
      use Email::Send::SMTP::Gmail;
      my $mail=Email::Send::SMTP::Gmail->new( -smtp=>'smtp.gmail.com',
                                              -login=>'whateveraddress@gmail.com',
                                              -pass=>'whatever_pass');

      $mail->send(-to=>'target@xxx.com', -subject=>'Hello!',
                  -body=>'Just testing it<br>Bye!',-contenttype=>'text/html',
                  -attachments=>'/full_path/file1.pdf,/full_path/file2.pdf');
      $mail->bye;

Send email with attachments using hashref

      use strict;
      use warnings;
      use Email::Send::SMTP::Gmail;
      my $mail=Email::Send::SMTP::Gmail->new( -smtp=>'smtp.gmail.com',
                                              -login=>'whateveraddress@gmail.com',
                                              -pass=>'whatever_pass');

      my $att;
      $att->[0]->{file}='/full_path/file.pdf';
      $att->[1]->{file}='/full_path/file1.pdf';

      $mail->send(-to=>'target@xxx.com', -subject=>'Hello!',
                  -body=>'Just testing it<br>Bye!',-contenttype=>'text/html',
                  -attachmentlist=>$att);
      $mail->bye;

BUGS ^

Please report any bugs or feature requests to bug-email-send-smtp-gmail at rt.cpan.org or through the web interface at http://rt.cpan.org/NoAuth/ReportBug.html?Queue=Email-Send-SMTP-Gmail. You will automatically be notified of the progress on your bug as we make the changes.

SUPPORT ^

You can find documentation for this module with the perldoc command.

    perldoc Email::Send::SMTP::Gmail

You can also look for information at:

AUTHORS ^

Juan Jose 'Peco' San Martin, <peco at cpan.org>

Martin Vukovic, <mvukovic at microbotica.es>

Flaviano Tresoldi, <info at swwork.it>

Narcyz Knap, <narcyz at gumed.edu.pl>

COPYRIGHT ^

Copyright 2014 Microbotica

This library is free software; you can redistribute it and/or modify it under the same terms as Perl itself.

syntax highlighting: