搜索
查看: 18468|回复: 1

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

[复制链接]
发表于 2012-9-2 08:29:24 | 显示全部楼层 |阅读模式
  最近研究uchome,使用在线发邮件的功能,但是测试了"通过 PHP 函数的 sendmail 发送(推荐此方式)"怎么都没用,因为本人现在用的是iis+php环境,怎么调试都没有用,经过研究之后搞定,分享一下教大家在自己服务器上配置sendmail。很多php的网站例如Discuz的论坛和各种phpCMS的网站都用到。, u/ F( H+ {" H) `* M) k
首先你需要先到从http://glob.com.au/sendmail/下载sendmail.zip文件,点此可以直接下载噢,然后把它解压到如D:\php\sendmail\目录下。8 T/ N* j/ ]3 X% k
然后打开php.ini文件,找到下面这段代码
4 x1 H* U: @$ j9 M% `  F, `
  1. [mail function] 5 i, s: O0 j8 r/ I/ I) {. Z
  2. ; For Win32 only.
      _/ h0 n! _0 ?9 o
  3. SMTP = localhost # L9 u+ `! S: Q, u
  4. smtp_port = 25 6 W1 e2 w- V) N
  5. ; For Win32 only.
    ' T) t: ~# c: r* d5 z
  6. ;sendmail_from = me@example.com 0 Y6 e" Q' u. B: T
  7. ; For Unix only. You may supply arguments as well (default: "sendmail -t -i").
    3 r5 q9 x! ^/ q8 g1 M9 P  W( P
  8. ; sendmail_path = ""
    " O* o' P1 Y! p# ^6 \% K5 `, W
  9. ; Force the addition of the specified parameters to be passed as extra parameters 6 _! i. T. l0 i- i- v
  10. ; to the sendmail binary. These parameters will always replace the value of
    / Y0 ?- J. s$ E; {! r- ~( S7 ?
  11. ; the 5th parameter to mail(), even in safe mode. ; y# P/ ^. H( 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",改完后的即是
% }$ \! N2 y7 I2 A* @
  1. [mail function]
    4 H% u+ H$ k# c
  2. ; For Win32 only.
    7 t7 M, U- s/ n
  3. ;SMTP = localhost
    8 `# w/ f# `* Z( b) G6 y; u6 m9 D5 ?
  4. ;smtp_port = 25
    4 U& T  ?, m4 |
  5. ; For Win32 only. " C/ v8 f& m: f0 @1 R
  6. ;sendmail_from = me@example.com - U3 X0 r$ i0 Z4 j. `3 S, M
  7. ; For Unix only. You may supply arguments as well (default: "sendmail -t -i"). - _: b8 `; a- L1 ^" _$ c
  8. sendmail_path = "d:\php\sendmail\sendmail.exe -t"
    ! A6 v5 S. I4 q1 D: l
  9. ; Force the addition of the specified parameters to be passed as extra parameters
    : n  @# Z; i5 N* ~4 m; |9 g( |& C
  10. ; to the sendmail binary. These parameters will always replace the value of + Y/ L% |. Z  {2 f
  11. ; the 5th parameter to mail(), even in safe mode.   @6 |7 e/ O/ \" w8 N5 R
  12. ;mail.force_extra_parameters =
复制代码
9 n4 a' t) q; e5 h6 L( }3 D. ]
注意以上只需要开启sendmail_path即可,然后保存 5 V+ Y+ A& x/ |+ _4 `

/ D* A7 q% b: U6 Q4 R4 ?6 E3 u( B接着修改sendmail目录下的sendmail.ini文件,主要填的内容有以下几项
- ]9 z0 ~4 W7 _6 K
  1. smtp_server=smtp服务器地址(如 smtp.ym.163.com)
    4 p& U2 Q, c- ?6 Y2 k2 G
  2. auth_username=邮箱登录名(如 info@xxxx.com) 3 M% Z1 z" A' R" e
  3. auth_password=邮箱密码(如 xxxxxx) / L8 g$ M! n- c3 K
  4. force_sender=发件人地址全写(如 info@xxxx.com)
复制代码
另外还有一项
6 o" Y' `0 K$ N
  1. ; auto = use SSL for port 465, otherwise try to use TLS
复制代码

0 ~4 V0 D  b2 d, s把前面的";"删除,即开启SSL安全登录选项即可
- H' W% j( b9 [2 A; l; K+ \, J1 s' [. x9 f7 T/ c/ z2 s4 G
以上四项正确填写修改完成后保存,然后重启IIS即可正常使用。
4 x2 `7 m* g$ M( T! C9 K( O$ T, z6 p0 k! f. c7 p/ Y/ V4 N
如果不能发送邮件,检查下端口是不是被屏蔽了,杀毒软件是不是设置了禁止发送邮件等  
- d) q7 u5 J# R% Z" C
: ^- v3 W9 Z0 f5 ~4 Q5 x# N
回复

使用道具 举报

 楼主| 发表于 2012-9-2 10:24:28 | 显示全部楼层
http://www.phpmarker.com/1.html ! a# F2 Y9 U) G# ?# x+ l2 n# R
这个是另外一种方法,但是两种方法测试过,貌似都不管用
您需要登录后才可以回帖 登录 | 注册帐号

本版积分规则

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

虾皮社区,成立十年了!

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

Copyright © 2007-2019 xp6.org Powered by Discuz

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