搜索
查看: 18319|回复: 1

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

[复制链接]
发表于 2012-9-2 08:29:24 | 显示全部楼层 |阅读模式
  最近研究uchome,使用在线发邮件的功能,但是测试了"通过 PHP 函数的 sendmail 发送(推荐此方式)"怎么都没用,因为本人现在用的是iis+php环境,怎么调试都没有用,经过研究之后搞定,分享一下教大家在自己服务器上配置sendmail。很多php的网站例如Discuz的论坛和各种phpCMS的网站都用到。8 i3 \) Y+ L7 u) T, z8 ~
首先你需要先到从http://glob.com.au/sendmail/下载sendmail.zip文件,点此可以直接下载噢,然后把它解压到如D:\php\sendmail\目录下。1 a% [* }9 Q" d$ e0 m* V; Y
然后打开php.ini文件,找到下面这段代码2 y5 O* e% [: g. F1 D! k2 R
  1. [mail function] 6 j: }6 T  _$ t
  2. ; For Win32 only.
    ) l) w% S. D1 j+ D8 t
  3. SMTP = localhost $ _9 L' ~( l: P: [) N% E
  4. smtp_port = 25 3 R0 E, e% E: B" z. U3 H  f
  5. ; For Win32 only.
    , Q7 @+ i( _7 L; U
  6. ;sendmail_from = me@example.com
    3 D* I. R/ [' H" L# V; u; {9 I% M
  7. ; For Unix only. You may supply arguments as well (default: "sendmail -t -i").
    ) d, }- v+ d  a8 l, y# U' |9 x7 ]1 C
  8. ; sendmail_path = "" . n" i% a! K+ i+ P- a; z
  9. ; Force the addition of the specified parameters to be passed as extra parameters 9 w) |: F6 x7 {) h) X( b: o) ]
  10. ; to the sendmail binary. These parameters will always replace the value of
    " I2 c% G! I: A  T/ @
  11. ; the 5th parameter to mail(), even in safe mode. 2 h1 I/ ?! R# c) P0 y% ^( 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",改完后的即是 : Q: [  h1 T6 @
  1. [mail function]
    ) {$ L; }! o: h- {# s
  2. ; For Win32 only.
    7 x8 l. Z& k& ]
  3. ;SMTP = localhost ) R& D- I3 D- y% h! X8 z3 `
  4. ;smtp_port = 25 * s3 j) u3 ^1 p: q. X
  5. ; For Win32 only. 8 ~3 n+ o4 E5 x' _- c
  6. ;sendmail_from = me@example.com
    ; G8 e9 B" J+ a) F% h9 s
  7. ; For Unix only. You may supply arguments as well (default: "sendmail -t -i"). : R/ q0 y, J( @6 `) ]3 P
  8. sendmail_path = "d:\php\sendmail\sendmail.exe -t" + E& [. K( p9 o" f
  9. ; Force the addition of the specified parameters to be passed as extra parameters ; D! n& e9 c3 \  Y
  10. ; to the sendmail binary. These parameters will always replace the value of 1 O$ u. x) s" J7 v- J2 O* R- t
  11. ; the 5th parameter to mail(), even in safe mode.
    % M* Q) S  i. {5 c
  12. ;mail.force_extra_parameters =
复制代码
3 @5 z* z6 W. `# x2 X  l5 J4 G8 l
注意以上只需要开启sendmail_path即可,然后保存
* Q% t0 ?/ z( G6 d) V
# N5 s6 m1 \6 Y7 d& c接着修改sendmail目录下的sendmail.ini文件,主要填的内容有以下几项
* I) ~4 C2 k0 I. o
  1. smtp_server=smtp服务器地址(如 smtp.ym.163.com)
    ! n" X2 ~. G9 v2 N; E; V
  2. auth_username=邮箱登录名(如 info@xxxx.com)
    $ F) \, H: f6 \( k
  3. auth_password=邮箱密码(如 xxxxxx)
    + Z" x0 Z( y# ]1 C0 V
  4. force_sender=发件人地址全写(如 info@xxxx.com)
复制代码
另外还有一项
: H$ h& Y1 N/ b" q3 m
  1. ; auto = use SSL for port 465, otherwise try to use TLS
复制代码

: Z. m3 x8 Q( {9 T4 U. X5 j! j把前面的";"删除,即开启SSL安全登录选项即可
, {5 [  V2 y0 m5 _, B! O8 `
1 j% }; B9 X, P* q2 V以上四项正确填写修改完成后保存,然后重启IIS即可正常使用。
! h0 }$ o0 {1 ^7 a3 R) u$ q8 M" t6 C* O4 y! n
如果不能发送邮件,检查下端口是不是被屏蔽了,杀毒软件是不是设置了禁止发送邮件等  
% O  Z2 m# q3 r1 w; ~4 Q# ^  ?) j9 r) p: X6 t
回复

使用道具 举报

 楼主| 发表于 2012-9-2 10:24:28 | 显示全部楼层
http://www.phpmarker.com/1.html
% T$ O7 t: S9 b! `! D& T8 W这个是另外一种方法,但是两种方法测试过,貌似都不管用
您需要登录后才可以回帖 登录 | 注册帐号

本版积分规则

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

虾皮社区,成立十年了!

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

Copyright © 2007-2019 xp6.org Powered by Discuz

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