加载中…
个人资料
  • 博客等级:
  • 博客积分:
  • 博客访问:
  • 关注人气:
  • 获赠金笔:0支
  • 赠出金笔:0支
  • 荣誉徽章:
正文 字体大小:

How To: PHP Sendmail and XAMPP on Windows

(2009-11-27 16:05:42)
标签:

php

xampp

mail

it

分类: 网络技术

 

It can be difficult getting the PHP’s default mail functions to work when you run an apache server on windows instead of a unix environment.  I ran into this problem with my server (running XAMPP), and thought others may benefit from a quick how-to.  Another slight problem I had to get working was using an SMTP server that requires SSL connections (gmail for one).  I didn’t realize that most recent XAMPP releases have sendmail built in already.  This takes part of the hassel out, but we still have some configuring to do.

First, ensure that you have an XAMPP release that does include the fake sendmail program. [More details here]
Next, go to the XAMPP directory (often C:\xampp\), then open the ’sendmail’ subdirectory.  You’ll most likely see the following files (default):
sendmail.exe
readme.html
sendmail.ini
sendmail_example.ini
license.html
Open the file sendmail.ini – this is where all of your SMTP server configurations will go, for example: SMTP Username, Password, Host, Port, etc
My sendmail.ini file looks something like this:


; configuration for fake sendmail
[sendmail]
smtp_server=smtp.gmail.com
smtp_port=465
; SMTPS (SSL) support
  auto = use SSL for port 465, otherwise try to use TLS
  ssl  = alway use SSL
  tls  = always use TLS
  none = never try to use SSL
smtp_ssl=auto
default_domain=brettshaffer.com
error_logfile=error.log
; if your smtp server requires authentication, modify the following two lines
auth_username=<USERNAME / EMAIL ADDRESS HERE>
auth_password=<PASSWORD HERE>

 

 

Note that this is a very simple setup.  The variable names are fairly obvious, so simply fill in the SMTP server, port, ssl mode, username, password, and default domain / error log if you’d like.
GMail requires an SSL connection, so my config was setup to use SSL port 465 and smtp_ssl=auto.  If SSL is not necessary for your SMTP server, simply set smtp_ssl=none.
Once the configuration is setup, make sure to save changes, then exit.
If you are going to use SSL connections, you will need two additional files, available here (as of March 2009) – if this link no longer works, use the contact form and let me know.
Extract the two compressed files (libeay32.dll and ssleay32.dll) to the same directory as sendmail.exe (for me, C:\xampp\sendmail\)
Now, everything on the sendmail’s end is setup – now we just need to let the server know its there!
Edit your PHP.ini file:
XAMPP installations often have multiple files.  If you are doubtful of the correct one, you can always go through and change them all.  But before you do that, change the php.ini in \xampp\apache\bin\.
Look for the following line:
sendmail_path = “C:\xampp\sendmail\sendmail.exe -t”


Uncomment the line (if already commented) by removing the semicolon at the start.
Ensure that the path to sendmail.exe is correct (this is correct for me).
Save and exit php.ini
Restart the apache server and everything should work! 

 

http://brettshaffer.com/blog/how-to/php-sendmail-and-xampp-on-windows/

0

阅读 收藏 喜欢 打印举报/Report
  

新浪BLOG意见反馈留言板 欢迎批评指正

新浪简介 | About Sina | 广告服务 | 联系我们 | 招聘信息 | 网站律师 | SINA English | 产品答疑

新浪公司 版权所有