搜索
查看: 18602|回复: 1

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

[复制链接]
发表于 2012-9-2 08:29:24 | 显示全部楼层 |阅读模式
  最近研究uchome,使用在线发邮件的功能,但是测试了"通过 PHP 函数的 sendmail 发送(推荐此方式)"怎么都没用,因为本人现在用的是iis+php环境,怎么调试都没有用,经过研究之后搞定,分享一下教大家在自己服务器上配置sendmail。很多php的网站例如Discuz的论坛和各种phpCMS的网站都用到。
; C" \* j* ?4 w! Q' s0 ]* u- Z首先你需要先到从http://glob.com.au/sendmail/下载sendmail.zip文件,点此可以直接下载噢,然后把它解压到如D:\php\sendmail\目录下。4 s* L. K$ J) B& M6 G/ P
然后打开php.ini文件,找到下面这段代码' K6 f1 c7 c: V0 s5 S7 a9 D0 Y
  1. [mail function]
    6 m# ]2 n1 K2 p
  2. ; For Win32 only.
    ' b4 u: n( R) \5 k3 p  w& }
  3. SMTP = localhost # A5 q- y* H: R. i! l$ n
  4. smtp_port = 25 ( z3 J5 e# F. w8 [6 p- X* b
  5. ; For Win32 only.
    ( ?; B! [% K! }; C9 w9 y) H
  6. ;sendmail_from = me@example.com
    ! r/ |  I+ f1 M: Z
  7. ; For Unix only. You may supply arguments as well (default: "sendmail -t -i").   a/ a* W  e/ p: R: i
  8. ; sendmail_path = ""
    % V% e# @4 {# N
  9. ; Force the addition of the specified parameters to be passed as extra parameters
    6 v1 p; |  Z. d1 r% A' o
  10. ; to the sendmail binary. These parameters will always replace the value of ' }8 _5 j- w) u: ~4 r1 M
  11. ; the 5th parameter to mail(), even in safe mode. ; ^7 y1 ^0 R- T9 I) |2 x7 W6 q
  12. ;mail.force_extra_parameters =
复制代码
默认情况下是以本机做为邮件服务器,这里我们需要借用sendmail来发送邮件,用sendmail来配置如用qq、163的邮箱来发送(一般都是以这种方式)所以我们需要把所有的选项都注销,即把SMTP = localhost和smtp_port = 25前面加上";"然后把sendmai_path=""前面的";"删掉,改为sendmai_path="d:\php\sendmail\sendmail.exe -t",改完后的即是 6 E, V! x3 O) G( X4 c; H. L
  1. [mail function] ) ]9 H1 _: q8 F4 z& L! w3 y
  2. ; For Win32 only.
    9 Y( f! k" c$ W( J+ H" |
  3. ;SMTP = localhost
    2 r" i9 J6 J; X9 I
  4. ;smtp_port = 25 2 b$ x* }. k7 P6 R, T. I7 T) P
  5. ; For Win32 only.
    , x8 P7 Z+ [1 J
  6. ;sendmail_from = me@example.com
    0 X0 U3 r/ s2 ^9 z$ s
  7. ; For Unix only. You may supply arguments as well (default: "sendmail -t -i").
    " u: @3 I2 L! H7 S- y$ u6 J) _! ~
  8. sendmail_path = "d:\php\sendmail\sendmail.exe -t"
    ) Z5 {9 \2 Y7 n
  9. ; Force the addition of the specified parameters to be passed as extra parameters " m; A- W8 t  K8 i5 f8 w
  10. ; to the sendmail binary. These parameters will always replace the value of
    3 ]& i, d, w/ k+ K/ G+ D
  11. ; the 5th parameter to mail(), even in safe mode.
    8 z8 H) l+ y6 J7 L& r
  12. ;mail.force_extra_parameters =
复制代码
0 r% g6 Q" D$ `4 o0 ~7 M5 s6 O
注意以上只需要开启sendmail_path即可,然后保存 0 }7 F4 W. ^$ H0 E) t4 q4 X
) D' Q9 h" C9 B# D  h# B- v- q
接着修改sendmail目录下的sendmail.ini文件,主要填的内容有以下几项
2 J7 U8 Y% O6 W" O; M4 h
  1. smtp_server=smtp服务器地址(如 smtp.ym.163.com)
    ! v4 _. E) V2 C% @5 V$ {
  2. auth_username=邮箱登录名(如 info@xxxx.com) , z3 ]9 K* ?, F& r8 _  h
  3. auth_password=邮箱密码(如 xxxxxx)
    ; ]$ a# Q& U6 |
  4. force_sender=发件人地址全写(如 info@xxxx.com)
复制代码
另外还有一项
4 T" O* J' O1 q+ m2 x
  1. ; auto = use SSL for port 465, otherwise try to use TLS
复制代码

7 Z$ {$ Y" z- n9 L$ [! a把前面的";"删除,即开启SSL安全登录选项即可 7 P% O- G% I  [! K8 m( y: u
3 P0 M' C8 k$ o. T1 @0 }1 Q
以上四项正确填写修改完成后保存,然后重启IIS即可正常使用。 ; C- V5 ]: U) E4 K$ V3 |* P

5 }- E6 T: h. c如果不能发送邮件,检查下端口是不是被屏蔽了,杀毒软件是不是设置了禁止发送邮件等  
, H: P! F3 U- C$ A8 s) @: R- s8 B- I+ |: k* `; A' I1 k
回复

使用道具 举报

 楼主| 发表于 2012-9-2 10:24:28 | 显示全部楼层
http://www.phpmarker.com/1.html
- A  M0 r' G5 X6 V: G, r* s这个是另外一种方法,但是两种方法测试过,貌似都不管用
您需要登录后才可以回帖 登录 | 注册帐号

本版积分规则

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

虾皮社区,成立十年了!

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

Copyright © 2007-2019 xp6.org Powered by Discuz

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