搜索
查看: 18376|回复: 1

[网站] iis下php 通过 PHP 函数的 sendmail 发送的配置方法

[复制链接]
发表于 2012-9-2 08:29:24 | 显示全部楼层 |阅读模式
  最近研究uchome,使用在线发邮件的功能,但是测试了"通过 PHP 函数的 sendmail 发送(推荐此方式)"怎么都没用,因为本人现在用的是iis+php环境,怎么调试都没有用,经过研究之后搞定,分享一下教大家在自己服务器上配置sendmail。很多php的网站例如Discuz的论坛和各种phpCMS的网站都用到。" M% u" [* M4 d
首先你需要先到从http://glob.com.au/sendmail/下载sendmail.zip文件,点此可以直接下载噢,然后把它解压到如D:\php\sendmail\目录下。
% I% p7 v8 E; w: Y然后打开php.ini文件,找到下面这段代码+ O) n4 S; r' v( \# L5 L3 u( L# |
  1. [mail function] % y5 x1 v* N" T0 o* e
  2. ; For Win32 only. ! M' |5 o; m# g# I3 {# K: J
  3. SMTP = localhost
    & \( z7 u# M  ?: |# o6 ~; E
  4. smtp_port = 25 6 \& m7 `& s) t! w
  5. ; For Win32 only. 3 v+ a1 G% ^6 }' Y
  6. ;sendmail_from = me@example.com ( t! y  `( ?0 H9 R, q* L4 F
  7. ; For Unix only. You may supply arguments as well (default: "sendmail -t -i"). : K: o! o3 k7 l* v+ |4 C: I
  8. ; sendmail_path = ""
    - {: _+ P! h% G$ s6 [3 }) i( p& Z8 h+ t
  9. ; Force the addition of the specified parameters to be passed as extra parameters
      X/ f) P3 \1 m0 h; J2 f3 d
  10. ; to the sendmail binary. These parameters will always replace the value of
    " q0 D0 T% @; y# _
  11. ; the 5th parameter to mail(), even in safe mode. / |7 n& E' K3 b- {4 T2 O  w0 J
  12. ;mail.force_extra_parameters =
复制代码
默认情况下是以本机做为邮件服务器,这里我们需要借用sendmail来发送邮件,用sendmail来配置如用qq、163的邮箱来发送(一般都是以这种方式)所以我们需要把所有的选项都注销,即把SMTP = localhost和smtp_port = 25前面加上";"然后把sendmai_path=""前面的";"删掉,改为sendmai_path="d:\php\sendmail\sendmail.exe -t",改完后的即是 ' t# q- X6 b% s
  1. [mail function]
    . |+ S# }1 _* l7 ~& f! `
  2. ; For Win32 only. ) o! M! }* Y8 d# \
  3. ;SMTP = localhost & ]% P- D) e' }( E! ^
  4. ;smtp_port = 25 4 o+ v, o$ o" U! G. O. [
  5. ; For Win32 only. 9 Y( j  Z4 O: |7 P9 h+ ]
  6. ;sendmail_from = me@example.com
    7 x  ?0 s3 v4 m- q- y
  7. ; For Unix only. You may supply arguments as well (default: "sendmail -t -i"). 7 n, |6 H/ x6 s5 V' \
  8. sendmail_path = "d:\php\sendmail\sendmail.exe -t" & L: s" ]5 _  O2 b! Y+ k
  9. ; Force the addition of the specified parameters to be passed as extra parameters 6 {" ?" u* y0 Y8 b: }) K  v
  10. ; to the sendmail binary. These parameters will always replace the value of
    & l2 V* Q9 \8 k# R6 Z, t
  11. ; the 5th parameter to mail(), even in safe mode.
    7 W5 H8 m5 Y$ o  v  t5 D1 k
  12. ;mail.force_extra_parameters =
复制代码

1 ]% U0 Z" O$ _注意以上只需要开启sendmail_path即可,然后保存
, A! h' D7 H; X. t- p* j( I- R  `/ K+ H: n- {8 e7 S8 T( x
接着修改sendmail目录下的sendmail.ini文件,主要填的内容有以下几项 ; I1 Y5 V) C* i0 p% @$ o( Z' a
  1. smtp_server=smtp服务器地址(如 smtp.ym.163.com) / ~$ h# k* \" V, I
  2. auth_username=邮箱登录名(如 info@xxxx.com) - U5 G/ U# O) k
  3. auth_password=邮箱密码(如 xxxxxx)
    ; t# T- }2 j1 I* w0 J- `, z
  4. force_sender=发件人地址全写(如 info@xxxx.com)
复制代码
另外还有一项
& P% W5 {1 a4 U  }
  1. ; auto = use SSL for port 465, otherwise try to use TLS
复制代码

$ g5 F/ M4 G9 J7 ]把前面的";"删除,即开启SSL安全登录选项即可
2 j" I! i2 Z2 z4 B- K. g
- h& i8 k, r+ j* R以上四项正确填写修改完成后保存,然后重启IIS即可正常使用。
+ j. o# I9 m4 d% k% `% i7 G  G) |* Y2 D2 T+ j7 h) `, K
如果不能发送邮件,检查下端口是不是被屏蔽了,杀毒软件是不是设置了禁止发送邮件等  
& p- _  [  j; M% @; Z5 L) Z' T3 i3 p( L+ Z0 K& N. t7 U8 s
回复

使用道具 举报

 楼主| 发表于 2012-9-2 10:24:28 | 显示全部楼层
http://www.phpmarker.com/1.html
) }- K3 W6 H% \& {这个是另外一种方法,但是两种方法测试过,貌似都不管用
您需要登录后才可以回帖 登录 | 注册帐号

本版积分规则

热议作品
精华帖子排行
精彩推荐

虾皮社区,成立十年了!

站长自己也搞不懂想做个什么,反正就是一直在努力的做!

Copyright © 2007-2019 xp6.org Powered by Discuz

QQ|Archiver|手机版|小黑屋|虾皮社区 鲁公网安备 37021102000261号 |网站地图
返回顶部 返回列表