Beefy Boxes and Bandwidth Generously Provided by pair Networks
Your skill will accomplish
what the force of many cannot

Re: Net::SMTP Problem

by jettero (Monsignor)
on Jun 04, 2010 at 19:09 UTC ( #843189=note: print w/replies, xml ) Need Help??

in reply to Net::SMTP Problem

See eval and use something like if( !eval{blarg()} ) { warn "hrm: $@" }. Also, consider something like Email::Valid to avoid the send step on bad addresses.

Replies are listed 'Best First'.
Re^2: Net::SMTP Problem
by joshe (Initiate) on Jun 04, 2010 at 19:22 UTC

    Dear jettero:

    Thanks for your fast reply, i am a completly monkey and newbie, can you give a example please


      Below example shows how to incorporate eval into the code you already have. jettero's method to wrap the subroutine gives you the added benefit of trapping other errors as well. But if you are just concerned about not failing for bad domains the below code (untested) should work.

      sub sendtextemail { use MIME::Lite; $from = "\"$from_name\" <$from_email>\n"; $sender = "\<$reply_1>\n"; $reply = "\"$from_name\" <$from_email>\n"; $to = "\"$fname\" <$email>\n"; $unsubscribe .="<$shortlink/r.cgi?s=$subid&a=$username&k=$valkey>\n"; use Net::SMTP; MIME::Lite->send('smtp', 'localhost'); $mailmsg = MIME::Lite->new( From => $from, 'Reply-to' => $reply, Sender => $sender, To => $to, Subject => $subjectline, Type => "text/plain; charset=iso-8859-1", "X-Identifier:" => "$subid-$username\n", "X-Ip:" => "$ip\n", Data => "$message", ); $mailmsg->add("Complaints-To" => "$emailabuse\n"); eval { $mailmsg->send; }; if ($@) { print "[Error] Your email send errored: [$@]\n"; } }

        Thank you. I have tried but not working

Log In?

What's my password?
Create A New User
Node Status?
node history
Node Type: note [id://843189]
[Corion]: ambrus: Oh - that one would be much harder to automate... The SYNOPSIS section should mostly be a runnable program IMO, but I write only small snippets in my documentation for single functions/methods, and creating the appropriate environment for ...
[Corion]: ... those in an automated fashion seems somewhat hard to me. Although it should do wonders for the test coverage ;)
[haukex]: Corion: I once wrote an automated thingy for that here
[haukex]: here's the code that uses it
[Corion]: haukex: Hmm - maybe I can reuse that. I see that it uses Pod::Parser, which I think was one of the more fragile parsers. But if I'm statically (re)generating the tests instead of doing that "live" on the client/tester machines, that's a much smaller...
[Corion]: ... problem space than trying to cater to all versions of Pod::Parser(s)

How do I use this? | Other CB clients
Other Users?
Others perusing the Monastery: (10)
As of 2017-02-27 12:20 GMT
Find Nodes?
    Voting Booth?
    Before electricity was invented, what was the Electric Eel called?

    Results (385 votes). Check out past polls.