Sending emails with WAMP

匿名 (未验证) 提交于 2019-12-03 02:44:02

问题:

I use the latest WAMP and I get this when I try to send emails:

Warning: mail() [function.mail]: Failed to connect to mailserver at "localhost" port 25, verify your "SMTP" and "smtp_port" setting in php.ini or use ini_set() in C:\wamp\www\main\createaccount.php on line 8 

Message delivery failed...

The message:

$to = "xxx@hotmail.com"; $subject = "Hi!"; $body = "Hi,\n\nHow are you?"; if (mail($to, $subject, $body)) {   echo("

Message successfully sent!

"); } else { echo("

Message delivery failed...

"); }

Do you need do download a "mailserver" also?

Please help.

回答1:

This works for me and should work for you: Use Fake Sendmail and a webhost mail server (i.e. - Godaddy, 1and1, etc.).

1.) Download the sendmail zip and extract it to C:\Wamp\bin\sendmail (for purposes of this example).

2.) Edit C:\wamp\bin\sendmail\sendmail.ini and set the following to your mail server's requirements (mine are below):

smtp_server=mail.yourdomain.com smtp_port=26 smtp_ssl=none ;default_domain=yourdomain.com auth_username=smtpuser@yourdomain.com auth_password=smtppassword ;pop3_server= ;pop3_username= ;pop3_password= ;force_sender= ;force_recipient= 

3.) Set the path of sendmail.exe in your php.ini file.

[mail function] ; For Win32 only. SMTP =  ; For Win32 only. sendmail_from =  ; For Unix only.  You may supply arguments as well (default: "sendmail -t -i"). sendmail_path = "C:\wamp\bin\sendmail\sendmail.exe -t" 

4.) Restart Wampserver.

You might have success using Gmail, but there are a few extra tweaks to make it work. I prefer using the mail server of the webhost where I upload my code.



回答2:

You are not running an smtp server on your machine, but you don't have to. Just set SMTP to a open smtp server for example:

ini_set('SMTP', 'smtp.yourisp.com'); 

Take a look at your ISP's home page or http://www.e-eeasy.com/SMTPServerList.aspx for list of SMTP servers.

If you have a desktop mail program, you can use the same address as you use for outgoing mail.



回答3:

I think your mail server (SMTP) outgoing mail server is not configured in your php.ini file.

Have a look at this:

http://email.about.com/od/emailprogrammingtips/qt/Configure_PHP_to_Use_a_Remote_SMTP_Server_for_Sending_Mail.htm

Also hotmail doesn't allow you to use their mailservers. You should use yahoo or gmail.



回答4:

Are you sure these servers have a mail program installed on them? If not, that's your problem. For example, XAMPP comes with a mail program called Mercury which you must start before you can send mail through the server.



回答5:

Follow this article, it works if you have a gmail account. or at least any email account in which you know the server, port and this stuff.

Send Email From localhost



回答6:

here is another solution - WAMP send Mail using SMTP localhost


KEEP IN MIND, everytime, after You change php.ini,

you must restart wamp (! ! !)

p.s. in php.ini, i have used:

SMTP = localhost  smtp_port = 25  sendmail_from = your_user@gmail.com 

or if oyu cant edit php.ini, try to insert these lines in your php script.

ini_set("SMTP", "localhost"); ini_set("smtp_port", "25"); ini_set("sendmail_from", "your_user@gmail.com"); 


标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!