NAME

Net::SMTP::Bulk - NonBlocking batch SMTP using Net::SMTP interface

VERSION

Version 0.18

SYNOPSIS

This is a rewrite of Net::SMTP using AnyEvent and Coro as a backbone. It supports AUTH and SSL (no STARTTLS support yet). This module can be used as a drop in replacement for Net::SMTP. At this point this module is EXPIREMENTAL, so use at your own risk. Functionality can change at any time.

use Net::SMTP::Bulk;

my $smtp = Net::SMTP::Bulk->new($server, %options);

See Net::SMTP for syntax.

SUBROUTINES/METHODS

new($server,%options)

new(%options)

Options: Host - Hostname or IP address

Mode - Options of AnyEvent or Coro (default: Coro but switches to AnyEvent if Coro is not installed)

Port - The port to which to connect to on the server (default: 25)

Hello - The domain name you wish to connect to (default: [same as server])

Debug - Debug information (Coro: off: 0, on: 1, AnyEvent: 0-10 depending on level) (default: 0 [disabled]) OPTIONAL

DebugPath - Set to default Debug Path. use [HOST] and [THREAD] for deeper control of output OPTIONAL

Secure - If you wish to use a secure connection. (0 - None, 1 - SSL [no verify]) OPTIONAL [Requires Net::SSLeay]

Threads - How many concurrent connections per host (default: 2) OPTIONAL

Encode - Encode socket( 1: utf8 )

Callbacks - You can supply callback functions on certain conditions, these conditions include:

connect_pass,connect_fail,auth_pass,auth_fail,reconnect_pass,reconnect_fail,pass,fail,hang

The callback must return 1 it to follow proper proceedures. You can overwrite the defaults by supplying a different return.

1 - Default

101 - Remove Thread permanently

102 - Remove thread temporarily and reconnect at end of batch

103 - Remove thread temporarily and restart at end of batch (If your using an SMTP server with short timeout, it is suggested to use this over reconnect)

104 - Remove Thread temporarily

202 - Reconnect now

203 - Restart now

new(%options, Hosts=>[\%options2,\%options3])

You can supply multiple hosts in an array.

auth( [ MECHANISM,] USERNAME, PASSWORD )

*Requires Authen::SASL

mail( ADDRESS )

to( ADDRESS )

data()

datasend( DATA )

dataend( DATA )

reconnect( )

quit( )

AUTHOR

KnowZero

BUGS

Please report any bugs or feature requests to bug-net-smtp-bulk at rt.cpan.org, or through the web interface at http://rt.cpan.org/NoAuth/ReportBug.html?Queue=Net-SMTP-Bulk. I will be notified, and then you'll automatically be notified of progress on your bug as I make changes.

SUPPORT

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

perldoc Net::SMTP::Bulk

You can also look for information at:

ACKNOWLEDGEMENTS

LICENSE AND COPYRIGHT

Copyright 2013 KnowZero.

This program is free software; you can redistribute it and/or modify it under the terms of either: the GNU General Public License as published by the Free Software Foundation; or the Artistic License.

See http://dev.perl.org/licenses/ for more information.