Re: [PHP-WIN] req: help with mail on IIS 6

[email protected] (Niel Archer)
Newsgroups php.windows
Message-ID <[email protected]>
> On Tue, 03 Nov 2009 22:19:53 GMT Niel Archer <[email protected]> wrote
> 
> > > Hi All: Just joined the list.
> > >
> > > I'm having problems configuring mail in PHP. I have PHP 5.2.9 installed on
> > > server 2003 std with sp2 installed. The default SMTP service is running.
> > > I'm running Wordpress without any problems, except for configuring mail.
> > >
> > > My php.ini file looks like:
> > >
> > > [mail function]
> > > ; For Win32 only.
> > > ;smtp = localhost
> > > ;smtp = 127.0.0.1
> > > smtp = 192.168.1.6
> > > smtp_port = 25
> > >
> > > ; For Win32 only.
> > > sendmail_from = [email protected]
> > >
> > > I've tried each of the three server addresses above, and none of them work.
> > >
> > > If I try to run a simple test like:
> > >
> > >     <?php
> > >     $to = "[email protected]";
> > >     $subject = "Test mail";
> > >     $message = "Hello! This is a simple email message.";
> > >     $from = "[email protected]";
> > >     $headers = "From: $from";
> > >     mail($to,$subject,$message,$headers);
> > >     echo "Mail Sent.";
> > >     ?>
> > 
> > $headers must be terminated by "\r\n"
> 
> Thanks Neil...I went back to the php.net docs for "mail" and picked up their
> example, with this syntax:
> 
> <?php
> $to      = '[email protected]';
> $subject = 'Test mail';
> $message = 'hello';
> $headers = 'From: [email protected]' . "\r\n" .
>     'Reply-To: [email protected]' . "\r\n" .
>     'X-Mailer: PHP/' . phpversion();
> mail($to, $subject, $message, $headers);
> ?> 

You still aren't terminating each line of $headers with the "\r\n" pair.
This is required by the RFC, and failing to do so can produce unexpected
results, depending on the software processing it.

> (I've replaced the actual "to" and "from" to dummy addresses)...still doesn't
> work...I don't get an error when running the script, but no mail is sent.

I hope these two addresses are different. I had problems getting mail() to
work when they are the same. Never found out why ;-)


You should test the return value to see if the agent is accepting the
mail. Something like:

if (! mail($to, $subject, $message, $headers)) {
    echo "Failure to accept mail!";
}

is enough to know if it's accepted or not.

--
Niel Archer
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.