搜索
查看: 18543|回复: 1

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

[复制链接]
发表于 2012-9-2 08:29:24 | 显示全部楼层 |阅读模式
  最近研究uchome,使用在线发邮件的功能,但是测试了"通过 PHP 函数的 sendmail 发送(推荐此方式)"怎么都没用,因为本人现在用的是iis+php环境,怎么调试都没有用,经过研究之后搞定,分享一下教大家在自己服务器上配置sendmail。很多php的网站例如Discuz的论坛和各种phpCMS的网站都用到。
. [# x* z! a3 M3 W1 L, u2 _0 x3 c6 J0 p首先你需要先到从http://glob.com.au/sendmail/下载sendmail.zip文件,点此可以直接下载噢,然后把它解压到如D:\php\sendmail\目录下。
* \+ \, O" Q% w3 x! F3 U# q然后打开php.ini文件,找到下面这段代码  ]6 h# E0 R* _9 E
  1. [mail function]   U0 \( i0 t) c0 J9 {& D
  2. ; For Win32 only.
    6 m- N0 v) L, Y4 H( e. A! Y
  3. SMTP = localhost 3 b: {% k! O  F4 I
  4. smtp_port = 25
    ! X/ M. T2 @8 _
  5. ; For Win32 only. $ V6 o7 Z3 l4 B# c+ W
  6. ;sendmail_from = me@example.com
    # o1 f5 @- @6 @/ Y" |( `
  7. ; For Unix only. You may supply arguments as well (default: "sendmail -t -i").
    + u$ i& G9 K/ k
  8. ; sendmail_path = ""
    7 N' R- b+ G, q8 ^, i+ p' Q& d( x
  9. ; Force the addition of the specified parameters to be passed as extra parameters
    9 j, x' n1 e! O: K2 y
  10. ; to the sendmail binary. These parameters will always replace the value of 7 K+ N6 z$ o" t
  11. ; the 5th parameter to mail(), even in safe mode. $ j& e! f( f* R' `1 ]
  12. ;mail.force_extra_parameters =
复制代码
默认情况下是以本机做为邮件服务器,这里我们需要借用sendmail来发送邮件,用sendmail来配置如用qq、163的邮箱来发送(一般都是以这种方式)所以我们需要把所有的选项都注销,即把SMTP = localhost和smtp_port = 25前面加上";"然后把sendmai_path=""前面的";"删掉,改为sendmai_path="d:\php\sendmail\sendmail.exe -t",改完后的即是 8 n  m0 I5 ^7 I5 v
  1. [mail function]
      ]* i" k0 }6 L5 x
  2. ; For Win32 only. - |8 c9 l# x& y* P- v4 n( ]) j
  3. ;SMTP = localhost ( l: g/ f4 A& ~/ q% u4 |4 a* \
  4. ;smtp_port = 25 * ^0 ]7 G3 U/ h* \$ g+ E+ V6 F
  5. ; For Win32 only.
      C# B  O$ X; Q; `
  6. ;sendmail_from = me@example.com
    ) p* R7 ?, i, k0 G0 o& N
  7. ; For Unix only. You may supply arguments as well (default: "sendmail -t -i").
    ; s: U( h9 F- {# O% C
  8. sendmail_path = "d:\php\sendmail\sendmail.exe -t" 9 F  U% X/ e- q! B  |: K
  9. ; Force the addition of the specified parameters to be passed as extra parameters 6 u* h. b6 }$ h! g7 [7 B& n3 Q
  10. ; to the sendmail binary. These parameters will always replace the value of & @; V7 [! v) r7 @, u1 q; F: X
  11. ; the 5th parameter to mail(), even in safe mode.
    " _2 _* X7 d* h1 G! u' p
  12. ;mail.force_extra_parameters =
复制代码

' j# b* K5 L0 H: W& Q注意以上只需要开启sendmail_path即可,然后保存
/ l' F, G3 f) t  c( C4 X1 R9 C6 ], v& N& H
接着修改sendmail目录下的sendmail.ini文件,主要填的内容有以下几项 ( P/ b6 b" Y9 \1 N
  1. smtp_server=smtp服务器地址(如 smtp.ym.163.com) 0 Q% b1 E1 i' K8 u1 z; Z9 Z: z) t
  2. auth_username=邮箱登录名(如 info@xxxx.com)
    , e# n. a6 q* S" R$ Q7 T
  3. auth_password=邮箱密码(如 xxxxxx) ! t* P+ ^! w( v( @
  4. force_sender=发件人地址全写(如 info@xxxx.com)
复制代码
另外还有一项
% G3 a( ^/ I' w
  1. ; auto = use SSL for port 465, otherwise try to use TLS
复制代码
; ^: Y6 Q. D( t+ x# k8 G
把前面的";"删除,即开启SSL安全登录选项即可 0 q! Q8 i9 }# g- X5 Q  c

. L. A. q! N6 D# F: e- O. `3 F以上四项正确填写修改完成后保存,然后重启IIS即可正常使用。 3 I8 {/ [$ v/ ]

: k) z9 ]( ^& k' B+ U/ @: ^3 e如果不能发送邮件,检查下端口是不是被屏蔽了,杀毒软件是不是设置了禁止发送邮件等  9 F( N0 ?5 j$ O3 P0 e- w  e
/ ~& @& m8 W: `$ g1 Q) f
回复

使用道具 举报

 楼主| 发表于 2012-9-2 10:24:28 | 显示全部楼层
http://www.phpmarker.com/1.html , J1 x( f' s, R  u$ Q5 L5 S( U1 D
这个是另外一种方法,但是两种方法测试过,貌似都不管用
您需要登录后才可以回帖 登录 | 注册帐号

本版积分规则

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

虾皮社区,成立十年了!

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

Copyright © 2007-2019 xp6.org Powered by Discuz

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