搜索
查看: 18601|回复: 1

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

[复制链接]
发表于 2012-9-2 08:29:24 | 显示全部楼层 |阅读模式
  最近研究uchome,使用在线发邮件的功能,但是测试了"通过 PHP 函数的 sendmail 发送(推荐此方式)"怎么都没用,因为本人现在用的是iis+php环境,怎么调试都没有用,经过研究之后搞定,分享一下教大家在自己服务器上配置sendmail。很多php的网站例如Discuz的论坛和各种phpCMS的网站都用到。
  Y, v5 N* Y8 a( H) n首先你需要先到从http://glob.com.au/sendmail/下载sendmail.zip文件,点此可以直接下载噢,然后把它解压到如D:\php\sendmail\目录下。( P0 Q' z9 r* R
然后打开php.ini文件,找到下面这段代码
4 C: `% E; ]6 ]$ j' p
  1. [mail function]
    9 Z7 v5 j8 O2 X
  2. ; For Win32 only. . W8 Y; G7 i- S" Z" w' u. K7 d' y' A* G9 y
  3. SMTP = localhost
    3 R/ p4 |3 e% N# Y5 e+ d# }
  4. smtp_port = 25
    $ \5 t& t* U0 E4 r# g1 x
  5. ; For Win32 only. ! e! L7 K. R; Q: s3 O2 }6 K0 e
  6. ;sendmail_from = me@example.com 9 o2 G8 j( H0 L, V# L' s: q
  7. ; For Unix only. You may supply arguments as well (default: "sendmail -t -i").   q: j$ X' j! g
  8. ; sendmail_path = "" 8 A- m3 P1 T7 G$ W
  9. ; Force the addition of the specified parameters to be passed as extra parameters 0 D* @9 w# G- W3 b3 N! r
  10. ; to the sendmail binary. These parameters will always replace the value of
    2 @2 Z* i% J+ R2 a! s' U
  11. ; the 5th parameter to mail(), even in safe mode. ( \/ `8 l5 f# \; [
  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 k5 L0 a. B1 @: |7 ?
  1. [mail function]
    $ X6 D4 C3 I2 y" H+ A7 Y2 s
  2. ; For Win32 only. / M- {% R- C) X$ q- q
  3. ;SMTP = localhost ( v- ^/ d& T+ ?6 |
  4. ;smtp_port = 25 % e. V2 f9 u- s+ f2 V- ?. G7 ^
  5. ; For Win32 only.
    - T6 ~0 l* K$ m4 m# P0 m7 [
  6. ;sendmail_from = me@example.com / p+ W  P5 y( Q% q8 \; R
  7. ; For Unix only. You may supply arguments as well (default: "sendmail -t -i"). 4 D7 Q8 b0 b) `, w; ]+ s) u- N6 D
  8. sendmail_path = "d:\php\sendmail\sendmail.exe -t"
    ! U2 w; C! n; ~
  9. ; Force the addition of the specified parameters to be passed as extra parameters
    & t+ l. {9 |. v
  10. ; to the sendmail binary. These parameters will always replace the value of
    ' M) ^% C6 i9 D) C: P% ^
  11. ; the 5th parameter to mail(), even in safe mode. " X1 h4 }5 a( N4 y( c: V
  12. ;mail.force_extra_parameters =
复制代码

/ ^$ y0 t# M' C+ l8 P( _6 c, C注意以上只需要开启sendmail_path即可,然后保存
3 l. y+ p0 A1 g* l! ]7 O
8 {$ g$ e* ?5 L  ?2 j接着修改sendmail目录下的sendmail.ini文件,主要填的内容有以下几项
/ i4 {5 T8 A' l6 E+ s* W7 o
  1. smtp_server=smtp服务器地址(如 smtp.ym.163.com)
    2 p& J# _* J. Q9 @! r6 }
  2. auth_username=邮箱登录名(如 info@xxxx.com)
    ) p0 m" z( H- t. L% c
  3. auth_password=邮箱密码(如 xxxxxx) & A* V6 w: D5 k- B3 l1 ^
  4. force_sender=发件人地址全写(如 info@xxxx.com)
复制代码
另外还有一项
: T' q; g# D7 s  U
  1. ; auto = use SSL for port 465, otherwise try to use TLS
复制代码
2 @: @& q) K1 n# e
把前面的";"删除,即开启SSL安全登录选项即可
% n- ^9 _' R. m# y3 y) p7 `) G+ L$ c; V7 [4 m! A- k
以上四项正确填写修改完成后保存,然后重启IIS即可正常使用。 8 q- R: T, m( e* k# V. L. e+ d
1 n( ^. ], B3 h1 v4 N$ K+ O; Q9 g
如果不能发送邮件,检查下端口是不是被屏蔽了,杀毒软件是不是设置了禁止发送邮件等  $ S# d: h) _( }0 [8 P, y

0 R/ J. K" m! k$ y" E
回复

使用道具 举报

 楼主| 发表于 2012-9-2 10:24:28 | 显示全部楼层
http://www.phpmarker.com/1.html 4 W/ v, c$ D7 ?& }7 `7 B3 {+ m6 e
这个是另外一种方法,但是两种方法测试过,貌似都不管用
您需要登录后才可以回帖 登录 | 注册帐号

本版积分规则

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

虾皮社区,成立十年了!

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

Copyright © 2007-2019 xp6.org Powered by Discuz

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