Dear Friends

Sorry for the beginner question!
I experiment with Catalyst::View::Email and i try to send mail to multiple addresses in a while loop (from a database table, containing email addresses: simply one row - one address):

while ( my $userdata = $users_data->next ) {

    $c->stash->{email} = {
        to          => $userdata->felhasznalo->emailaddr,
        from        => '....',
        subject     => '....',
        body        => 'Body Body Body',
    };

    $c->forward( $c->view('Email') );

    if ( scalar( @{ $c->error } ) ) {
        #$c->error(0); # Reset the error condition if you need to
        $c->response->body('Oh noes!');
    } else {
$c->response->body('Email sent A-OK! (At least as far as we can tell)');
    }
}
Everything is working well, until changing an address to unexistent or bad mail address intentionally. At that point the $c->error checking not working, the while loop breaks with the following response:

|4.1.2 <sabid...@freeemail.hu>: Recipient address rejected: Domain not found ||||||Trace begun at /home/csabi/perl5/lib/perl5/Email/Sender/Transport/SMTPS.pm line 122|
...etc...

At the doc below:

http://search.cpan.org/~rjbs/Email-Sender-1.300030/lib/Email/Sender/Manual/QuickStart.pm

there is a section called: "in case of error"
in that:

If you'd rather not have to catch exceptions for failure to send mail, you can use the|try_to_send|method, which can be imported as|try_to_sendmail|. This method will return just false on failure to send mail.
I'd like to try that way, but i do not know, how to implement in Catalyst.
If i use:

$c->forward( $c->view('Email') ) || return;
the while loop stops after the first run.

Thank You in advance!
Csabi


_______________________________________________
List: Catalyst@lists.scsys.co.uk
Listinfo: http://lists.scsys.co.uk/cgi-bin/mailman/listinfo/catalyst
Searchable archive: http://www.mail-archive.com/catalyst@lists.scsys.co.uk/
Dev site: http://dev.catalyst.perl.org/

Reply via email to