Amazon-SES

 view release on metacpan or  search on metacpan

lib/Amazon/SES.pm  view on Meta::CPAN

        }
        my $i = 1;
        map { 
            $call_args{'Destination.ToAddresses.member.' . $i++} = $_;
        } @$to;
        
        $self->call( 'SendEmail', \%call_args );
    }
    
    
    method verify_email(Str $email) {
        return $self->call( 'VerifyEmailIdentity', { EmailAddress => $email } );
    }
    
    method delete_domain(Str $identity) {
        return $self->call( 'DeleteIdentity', { Identity => $identity } );
    }

    method delete_email(Str $identity) {
        return $self->call( 'DeleteIdentity', { Identity => $identity } );
    }

lib/Amazon/SES.pm  view on Meta::CPAN

        "Error": {
            "Code":     "MessageRejected",
            "Type":     "Sender",
            "Message":  "Email address is not verified."
        },
        "xmlns":    "http://ses.amazonaws.com/doc/2010-12-01/",
        "RequestId":"0d04b41a-20dd-11e3-b01b-51d07c103915"
    }


=head2 verify_email($email)

Verifies a given C<$email> with AWS SES. This results a verification e-mail be sent from AWS to the e-mail with a verification link, which must be clicked before this e-mail address appears in C<From> header. Returns a L<Response|Amazon::SES::Respons...

Sample successful response:

    {}      # right, it's empty.

=head2 list_emails()

Retrieves list e-mail addresses. Returns L<Response|Amazon::SES::Response> instance.

t/iam-role.t  view on Meta::CPAN

    my $ses = object_ok(
        sub {
            return Amazon::SES->new(
                use_iam_role => 1,
                from       => $ENV{AWS_SES_IDENTITY},
                region     => 'us-east-1'
            );
        },
        '$ses',
        isa => [qw(Amazon::SES)],
        can => [qw(call send verify_email delete_domain delete_email delete_identity list_emails list_domains get_quota get_statistics send_mime get_dkim_attributes region access_key secret_key use_iam_role)],
        clean => 1,
    );


    is($ses->region, 'us-east-1', "Region is: us-east-1");

    my $r;

    # Test that sending here generates an error code.
    ########## PLAIN

t/iam-role.t  view on Meta::CPAN

    $r = $ses->send($msg);
    ok( $r->is_success,
        $r->is_success ? "send_mime() success" : $r->error_message );
    ok( $r->request_id, "Request id: " . $r->request_id );
    ok( $r->result,     "Result element found" );
    ok( $r->message_id, "Message sent successfully" );
    #

    my $second_identity = $ENV{AWS_SES_IDENTITY};
    $second_identity =~ s/\@/\.test\@/;
    $r = $ses->verify_email($second_identity);

    #diag("verify_email(): ", $r->result_as_json);
    ok( $r->is_success && $r->request_id );
    $r = $ses->list_emails();

    #diag("list_emails(): ", $r->result_as_json);
    ok( $r->is_success && $r->request_id && $r->result );
    ok( @{ $r->result->{Identities} } == 2, "over two verified emails" );

    $r = $ses->list_domains();

    #diag("list_domains(): ", $r->result_as_json);

t/iam-role.t~  view on Meta::CPAN

    my $ses = object_ok(
        sub {
            return Amazon::SES->new(
                use_iam_role => 1,
                from       => $ENV{AWS_SES_IDENTITY},
                region     => 'us-east-1'
            );
        },
        '$ses',
        isa => [qw(Amazon::SES)],
        can => [qw(call send verify_email delete_domain delete_email delete_identity list_emails list_domains get_quota get_statistics send_mime get_dkim_attributes region access_key secret_key use_iam_role)],
        clean => 1,
    );


    is($ses->region, 'us-east-1', "Region is: us-east-1");

    my $r;

    # Test that sending here generates an error code.
    ########## PLAIN

t/iam-role.t~  view on Meta::CPAN

    $r = $ses->send($msg);
    ok( $r->is_success,
        $r->is_success ? "send_mime() success" : $r->error_message );
    ok( $r->request_id, "Request id: " . $r->request_id );
    ok( $r->result,     "Result element found" );
    ok( $r->message_id, "Message sent successfully" );
    #

    my $second_identity = $ENV{AWS_SES_IDENTITY};
    $second_identity =~ s/\@/\.test\@/;
    $r = $ses->verify_email($second_identity);

    #diag("verify_email(): ", $r->result_as_json);
    ok( $r->is_success && $r->request_id );
    $r = $ses->list_emails();

    #diag("list_emails(): ", $r->result_as_json);
    ok( $r->is_success && $r->request_id && $r->result );
    ok( @{ $r->result->{Identities} } == 2, "over two verified emails" );

    $r = $ses->list_domains();

    #diag("list_domains(): ", $r->result_as_json);

t/usage.t  view on Meta::CPAN

        sub {
            return Amazon::SES->new(
                access_key => $ENV{AWS_SES_ACCESS_KEY},
                secret_key => $ENV{AWS_SES_SECRET_KEY},
                from       => $ENV{AWS_SES_IDENTITY},
                region     => 'us-east-1'
            );
        },
        '$ses',
        isa => [qw(Amazon::SES)],
        can => [qw(call send verify_email delete_domain delete_email delete_identity list_emails list_domains get_quota get_statistics send_mime get_dkim_attributes region access_key secret_key use_iam_role)],
        clean => 1,
    );


    is($ses->region, 'us-east-1', "Region is: us-east-1");

    my $r;

    # Test that sending here generates an error code.
    ########## PLAIN

t/usage.t  view on Meta::CPAN

    $r = $ses->send($msg);
    ok( $r->is_success,
        $r->is_success ? "send_mime() success" : $r->error_message );
    ok( $r->request_id, "Request id: " . $r->request_id );
    ok( $r->result,     "Result element found" );
    ok( $r->message_id, "Message sent successfully" );
    #

    my $second_identity = $ENV{AWS_SES_IDENTITY};
    $second_identity =~ s/\@/\.test\@/;
    $r = $ses->verify_email($second_identity);

    #diag("verify_email(): ", $r->result_as_json);
    ok( $r->is_success && $r->request_id );
    $r = $ses->list_emails();

    #diag("list_emails(): ", $r->result_as_json);
    ok( $r->is_success && $r->request_id && $r->result );
    ok( @{ $r->result->{Identities} } == 2, "over two verified emails" );

    $r = $ses->list_domains();

    #diag("list_domains(): ", $r->result_as_json);



( run in 0.682 second using v1.01-cache-2.11-cpan-5467b0d2c73 )