搜索
查看: 18590|回复: 1

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

[复制链接]
发表于 2012-9-2 08:29:24 | 显示全部楼层 |阅读模式
  最近研究uchome,使用在线发邮件的功能,但是测试了"通过 PHP 函数的 sendmail 发送(推荐此方式)"怎么都没用,因为本人现在用的是iis+php环境,怎么调试都没有用,经过研究之后搞定,分享一下教大家在自己服务器上配置sendmail。很多php的网站例如Discuz的论坛和各种phpCMS的网站都用到。
4 G6 i" \7 T3 c首先你需要先到从http://glob.com.au/sendmail/下载sendmail.zip文件,点此可以直接下载噢,然后把它解压到如D:\php\sendmail\目录下。# O) s+ h5 @- \' ^6 {+ \
然后打开php.ini文件,找到下面这段代码
( x& g9 U& g8 {3 b8 ~# t) ~9 J
  1. [mail function]
    + ~1 S9 V. Q# c1 t
  2. ; For Win32 only.
    3 j; P/ Y) [) v. e% V; O* f
  3. SMTP = localhost ' A6 M% x* _2 j" V2 p4 w
  4. smtp_port = 25
    + N, N# i8 A6 e  L# `- [3 K
  5. ; For Win32 only.
    ) T+ K' Y3 k1 f- C- v
  6. ;sendmail_from = me@example.com
    3 ~9 }: ^: Y% o: {' C
  7. ; For Unix only. You may supply arguments as well (default: "sendmail -t -i"). 9 F2 C. Y$ W' Z& O) {: C! t
  8. ; sendmail_path = "" 7 n% n; |: f& d) E6 j
  9. ; Force the addition of the specified parameters to be passed as extra parameters   f  r3 {. U* |1 b0 m1 G, `8 K, F: ^
  10. ; to the sendmail binary. These parameters will always replace the value of # g0 `! x8 J+ M) C; Q0 r
  11. ; the 5th parameter to mail(), even in safe mode. + E/ G* t! F  Y- x7 A) w! k
  12. ;mail.force_extra_parameters =
复制代码
默认情况下是以本机做为邮件服务器,这里我们需要借用sendmail来发送邮件,用sendmail来配置如用qq、163的邮箱来发送(一般都是以这种方式)所以我们需要把所有的选项都注销,即把SMTP = localhost和smtp_port = 25前面加上";"然后把sendmai_path=""前面的";"删掉,改为sendmai_path="d:\php\sendmail\sendmail.exe -t",改完后的即是
; i" x+ p; ]3 E. P5 D7 M
  1. [mail function] 0 i; p& Z& Y* i* Q/ z6 d" B
  2. ; For Win32 only. " b! {: Z$ y" p8 e
  3. ;SMTP = localhost : r( }2 q9 k2 D8 R1 t# g
  4. ;smtp_port = 25
    ; M6 T- ]. p* `1 P, Y- H1 j9 K
  5. ; For Win32 only. 7 \' {8 K* f6 _" w4 V
  6. ;sendmail_from = me@example.com
    5 ?; }8 m( T7 O/ X  D+ {0 R
  7. ; For Unix only. You may supply arguments as well (default: "sendmail -t -i").
    & ]. d- h3 D1 }. ~8 y
  8. sendmail_path = "d:\php\sendmail\sendmail.exe -t"
    , ?  O  r; y, ^: H# e6 a
  9. ; Force the addition of the specified parameters to be passed as extra parameters ' e) z( l8 ^) ^. [
  10. ; to the sendmail binary. These parameters will always replace the value of ! S9 g* Z* a0 |, l5 C! H
  11. ; the 5th parameter to mail(), even in safe mode. . F& n% p4 v# m* b3 d+ O! S5 t
  12. ;mail.force_extra_parameters =
复制代码

4 Y# A1 F  b7 [2 n: `注意以上只需要开启sendmail_path即可,然后保存 2 S. q2 D, T! u6 j* |
( h0 w% s! ?' S
接着修改sendmail目录下的sendmail.ini文件,主要填的内容有以下几项 ; ?' |- }2 T) |+ I  |9 h  X
  1. smtp_server=smtp服务器地址(如 smtp.ym.163.com)
    & E3 q5 ^: `; }$ R: ]
  2. auth_username=邮箱登录名(如 info@xxxx.com) ! h4 m; O- W; m- s6 X  G
  3. auth_password=邮箱密码(如 xxxxxx)
    ) l0 v" p+ z* W3 ?! |! c8 l6 y
  4. force_sender=发件人地址全写(如 info@xxxx.com)
复制代码
另外还有一项 ' y% Z/ v' X5 H: a1 u2 R6 b* K% u
  1. ; auto = use SSL for port 465, otherwise try to use TLS
复制代码

) L: f7 Y& U* }7 x6 |3 M把前面的";"删除,即开启SSL安全登录选项即可
4 t2 J+ \+ ?( U8 u" _  g( w1 Z; U( b: g  |% m, M/ [' ]
以上四项正确填写修改完成后保存,然后重启IIS即可正常使用。 6 T/ K! p& ]3 Y! y; ?# ^" j
- y% y3 r' C( l6 n( t
如果不能发送邮件,检查下端口是不是被屏蔽了,杀毒软件是不是设置了禁止发送邮件等  * M4 F4 Q1 g5 M' i# `+ i

$ \% Q* r0 i) @- `, t
回复

使用道具 举报

 楼主| 发表于 2012-9-2 10:24:28 | 显示全部楼层
http://www.phpmarker.com/1.html $ l- t3 P2 g, I2 K
这个是另外一种方法,但是两种方法测试过,貌似都不管用
您需要登录后才可以回帖 登录 | 注册帐号

本版积分规则

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

虾皮社区,成立十年了!

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

Copyright © 2007-2019 xp6.org Powered by Discuz

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