Re: Pear Mail - Trap for errors?
| From: | Rick Dwyer | 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