Re: Pear Mail - Trap for errors?

From: Date: Thu, 15 Nov 2012 15:52:50 +0000
Subject: Re: Pear Mail - Trap for errors?
References: 1 2 3 4 5  Groups: php.general 
Request: Send a blank email to php-general+get-319710@lists.php.net to get a copy of this message
On Nov 14, 2012, at 10:48 PM, tamouse mailing lists <tamouse.lists@gmail.com> wrote: > On Wed, Nov 14, 2012 at 7:19 PM, Rick Dwyer <rpdwyer@earthlink.net> wrote: >> Hello all. >> >> I have some Pear Mail code composing an email and sending it to an external smtp server for >> sending. >> >> The issue is determining whether that external server actually accepted the mail or not. >> In the IF(PEAR… code below, it will return success even if I leave the $to value empty. However, >> if I remove the smtp username or password, it will return an error indicating it could not reach the >> remote server. So the Pear::IsError function seems to only reflect if the intended server was >> accessible… and not if the intended server accepted the outgoing email for delivery. >> >> Anyone have experience with the scenario below… specifically with determining if the smtp >> server accepted the mail for delivery? >> >> Thanks for any info. >> >> --Rick >> >> require_once "Mail.php"; >> >> $from = "from@address.com"; >> $to = "to@address.com"; >> $subject = "Hello!"; >> $body = "Hello!"; >> >> $host = "mail.host.net"; >> $username = "myuser"; >> $password = "mypass"; >> >> $headers = array ('From' => $from,'To' => $to,'Subject' >> => $subject); >> $smtp = Mail::factory('smtp',array ('host' => $host,'auth' >> => true,'username' => $username,'password' => $password)); > > I'd suggest putting a check here to see if $smtp is a PEAR::Error > object as well: > > if (PEAR::isError($smtp)) { > echo ("<p>" . $smtp->getMessage() . "</p>"); > // die or return or skip the next part, whatever > } else { Same result… which is to say no error returned even for messages sent with no email in the to address field. --Rick

« previous php.general (#319710) next »