Re: mail() function HELP
| From: | Shawn McKenzie | Date: | Tue, 04 Mar 2008 21:59:28 +0000 |
| Subject: | Re: mail() function HELP | ||
| References: | 1 | Groups: | php.general |
| Request: | Send a blank email to php-general+get-270974@lists.php.net to get a copy of this message | ||
Sofia Jacob (CA) wrote:
> I'm getting problems with the mail() function.
>
> ERROR:
>
> Warning: mail() [function.mail]: Failed to connect to mailserver at "" port 25,
> verify your "SMTP" and "smtp_port" setting in php.ini or use ini_set() in
> C:\wamp\www\php_sandbox\user_auth_fns.php on line 170
>
>
> I'm using Windows XP prof. and WAMP5 -server
>
> Here what I did:
>
> 1) I download sendmail.zip from http://glob.com.au/sendmail/
>
> 2) I unzip this in a folder on c:\wamp\sendmail
>
> 3) I edited PHP.INI file
>
> [mail function]
> ; For Win32 only.
> SMTP =
> smtp_port =
>
> ; For Win32 only.
> ;sendmail_from =
>
> ; For Unix only. You may supply arguments as well (default: "sendmail -t -i").
> ;sendmail_path = "C:\wamp\sendmail\sendmail.exe -t"
>
> ; Force the addition of the specified parameters to be passed as extra parameters
> ; to the sendmail binary. These parameters will always replace the value of
> ; the 5th parameter to mail(), even in safe mode.
> ;mail.force_extra_parameters =
>
> 4)I edited SENDMAIL.INI file
>
> ; configuration for fake sendmail
>
> ; if this file doesn't exist, sendmail.exe will look for the settings in
> ; the registry, under HKLM\Software\Sendmail
>
> [sendmail]
>
> ; you must change mail.mydomain.com to your smtp server,
> ; or to IIS's "pickup" directory. (generally C:\Inetpub\mailroot\Pickup)
> ; emails delivered via IIS's pickup directory cause sendmail to
> ; run quicker, but you won't get error messages back to the calling
> ; application.
>
> smtp_server=mail.yahoo.ca
>
> ; smtp port (normally 25)
>
> smtp_port=465
>
> ; the default domain for this server will be read from the registry
> ; this will be appended to email addresses when one isn't provided
> ; if you want to override the value in the registry, uncomment and modify
>
> default_domain=
>
> ; log smtp errors to error.log (defaults to same directory as sendmail.exe)
> ; uncomment to enable logging
>
> error_logfile=error.log
>
> ; create debug log as debug.log (defaults to same directory as sendmail.exe)
> ; uncomment to enable debugging
>
> ;debug_logfile=debug.log
>
> ; if your smtp server requires authentication, modify the following two lines
>
> auth_username=jacobsofia
> auth_password= *******
>
> ; if your smtp server uses pop3 before smtp authentication, modify the
> ; following three lines
>
> pop3_server=mail.yahoo.ca
> pop3_username= jacobsofia@yahoo.ca
> pop3_password=******
>
> ; to force the sender to always be the following email address, uncomment and
> ; populate with a valid email address. this will only affect the "MAIL FROM"
> ; command, it won't modify the "From: " header of the message content
>
> force_sender=jacobsofia@yahoo.ca
>
> ; sendmail will use your hostname and your default_domain in the ehlo/helo
> ; smtp greeting. you can manually set the ehlo/helo name if required
>
> hostname=
>
>
> 5) Here my code:
>
> $email = mysql_result($result, 0, "email");
> $from = "From: jacobsofia@yahoo.ca \r\n";
> $mesg = "Tu contraseña ha sido cambiado a $Password \r\n"
> ."Por favor utilízalo la próxima cuando hagas log in. \r\n";
> if (mail($email, "login información ", $mesg, $from))
> echo "Enviamos tu nueva contrasena a tu e-mail";
> else
> echo "Error";
>
> Thanks for the help!!!!
>
> Sofia.
Number 1, in php.ini you left this uncommented so it's using this:
SMTP =
smtp_port =
Number 2, here you didn't uncomment the ;sendmail_path:
; For Unix only. You may supply arguments as well (default: "sendmail
-t -i").
;sendmail_path = "C:\wamp\sendmail\sendmail.exe -t"
Also, notice the *For Unix only.* comment. Dunno if it will work anyway
if you have sendmail.
-Shawn