NAME

    Net::Async::SMTP - email sending with IO::Async

SYNOPSIS

     #!/usr/bin/env perl
     use strict;
     use warnings;
     use IO::Async::Loop;
     use Net::Async::SMTP::Client;
     use Email::Simple;
     my $email = Email::Simple->create(
            header => [
                    From    => 'someone@example.com',
                    To      => 'other@example.com',
                    Subject => 'NaSMTP test',
            ],
            attributes => {
                    encoding => "8bitmime",
                    charset  => "UTF-8",
            },
            body_str => '... text ...',
     );
     my $loop = IO::Async::Loop->new;
     $loop->add(
            my $smtp = Net::Async::SMTP::Client->new(
                    domain => 'example.com',
            )
     );
     $smtp->connected->then(sub {
            $smtp->login(
                    user => '...',
                    pass => '...',
            )
     })->then(sub {
            $smtp->send(
                    to   => 'someone@example.com',
                    from => 'other@example.com',
                    data => $email->as_string,
            )
     })->get;

DESCRIPTION

    Provides basic email sending capability for IO::Async, using the
    Protocol::SMTP implementation.

    See "DESCRIPTION" in Protocol::SMTP for a list of supported features
    and usage instructions.

    This class does nothing - use Net::Async::SMTP::Client for sending
    email.

AUTHOR

    Tom Molesworth <TEAM@cpan.org>

LICENSE

    Copyright Tom Molesworth 2010-2024. Licensed under the same terms as
    Perl itself.