On Nov 14, 2012, at 10:48 PM, tamouse mailing lists <tamouse.lists@xxxxxxxxx> wrote: > On Wed, Nov 14, 2012 at 7:19 PM, Rick Dwyer <rpdwyer@xxxxxxxxxxxxx> 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@xxxxxxxxxxx"; >> $to = "to@xxxxxxxxxxx"; >> $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 -- PHP General Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php