搜索
查看: 18503|回复: 1

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

[复制链接]
发表于 2012-9-2 08:29:24 | 显示全部楼层 |阅读模式
  最近研究uchome,使用在线发邮件的功能,但是测试了"通过 PHP 函数的 sendmail 发送(推荐此方式)"怎么都没用,因为本人现在用的是iis+php环境,怎么调试都没有用,经过研究之后搞定,分享一下教大家在自己服务器上配置sendmail。很多php的网站例如Discuz的论坛和各种phpCMS的网站都用到。3 C& ]% u7 }% O4 E
首先你需要先到从http://glob.com.au/sendmail/下载sendmail.zip文件,点此可以直接下载噢,然后把它解压到如D:\php\sendmail\目录下。
5 g* B9 F' Y! r5 p" L7 P0 S+ }然后打开php.ini文件,找到下面这段代码* V2 Z" z( V! L/ x; @/ t
  1. [mail function]
      c4 p7 o$ x% O. i2 C
  2. ; For Win32 only. ! B( d' ?9 d; L) f& p
  3. SMTP = localhost
    4 r3 j$ e2 W# \) p5 h5 L
  4. smtp_port = 25
    & A* ?; z1 M4 R* Y( @
  5. ; For Win32 only. * L, C9 K* n, p' S
  6. ;sendmail_from = me@example.com 7 }0 Z& e% R/ Z1 H/ q; m
  7. ; For Unix only. You may supply arguments as well (default: "sendmail -t -i").
    ) W$ h. a( k3 D% K: l. e6 e
  8. ; sendmail_path = ""
    3 t! S) t* V* @9 S  m. m$ }
  9. ; Force the addition of the specified parameters to be passed as extra parameters
    * V; V4 G" H: g: W/ Z  L
  10. ; to the sendmail binary. These parameters will always replace the value of , r% N8 m' `# @. [6 _2 x9 G* U
  11. ; the 5th parameter to mail(), even in safe mode.
    : k$ ~6 X, S9 q0 y
  12. ;mail.force_extra_parameters =
复制代码
默认情况下是以本机做为邮件服务器,这里我们需要借用sendmail来发送邮件,用sendmail来配置如用qq、163的邮箱来发送(一般都是以这种方式)所以我们需要把所有的选项都注销,即把SMTP = localhost和smtp_port = 25前面加上";"然后把sendmai_path=""前面的";"删掉,改为sendmai_path="d:\php\sendmail\sendmail.exe -t",改完后的即是
2 |: g' u- M1 t/ `* Q4 x" y1 w
  1. [mail function] , ~) I  u, ~( ?! k& i" n
  2. ; For Win32 only. 2 g0 k+ Y, U% v2 {9 W
  3. ;SMTP = localhost
      A9 n2 |) v# e$ _# _
  4. ;smtp_port = 25 % U# u8 k+ x' t9 J2 ]
  5. ; For Win32 only. % f- k1 E7 q; E! J! k$ T; [) E
  6. ;sendmail_from = me@example.com
    : [( o$ }4 _- T. F' x7 v& j) u9 x
  7. ; For Unix only. You may supply arguments as well (default: "sendmail -t -i").
    4 d% I! ~1 [, s/ m
  8. sendmail_path = "d:\php\sendmail\sendmail.exe -t" ( V: _* f( h( A# J9 x6 @
  9. ; Force the addition of the specified parameters to be passed as extra parameters
    5 J& j% n6 r: f0 X; r
  10. ; to the sendmail binary. These parameters will always replace the value of   y, |( M. G  u  ~
  11. ; the 5th parameter to mail(), even in safe mode.
    : q! B$ k7 E9 F* H' w" z& K
  12. ;mail.force_extra_parameters =
复制代码
6 @* G% s3 R5 y0 j1 j
注意以上只需要开启sendmail_path即可,然后保存 " O& ]! c& C, H' z* E  }

5 Q, n& N8 |- o7 t+ ]( U& X接着修改sendmail目录下的sendmail.ini文件,主要填的内容有以下几项
1 v4 |. r  v/ i+ e& M
  1. smtp_server=smtp服务器地址(如 smtp.ym.163.com)
    : ?* _: z8 C/ t
  2. auth_username=邮箱登录名(如 info@xxxx.com) " R6 C9 }9 W! r. \, E5 U4 r6 |
  3. auth_password=邮箱密码(如 xxxxxx)
    $ o$ y. q0 P* Y8 w8 o9 ^  ^: f
  4. force_sender=发件人地址全写(如 info@xxxx.com)
复制代码
另外还有一项
+ o' Z& g! Q5 {6 F  G7 \0 ?
  1. ; auto = use SSL for port 465, otherwise try to use TLS
复制代码
2 ~! B3 W9 z, C5 r
把前面的";"删除,即开启SSL安全登录选项即可
4 ?+ S1 F; Q8 J1 V- U7 }! ^, q' X; z5 A) B0 N
以上四项正确填写修改完成后保存,然后重启IIS即可正常使用。 ( B. ^1 y; w) t3 z/ P

# Q3 u3 e2 j& P! G6 R4 |& Q如果不能发送邮件,检查下端口是不是被屏蔽了,杀毒软件是不是设置了禁止发送邮件等  
/ G" L2 p, N& k) O6 l8 Y/ l- w/ f- Q' y5 w
回复

使用道具 举报

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

本版积分规则

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

虾皮社区,成立十年了!

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

Copyright © 2007-2019 xp6.org Powered by Discuz

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