搜索
查看: 18465|回复: 1

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

[复制链接]
发表于 2012-9-2 08:29:24 | 显示全部楼层 |阅读模式
  最近研究uchome,使用在线发邮件的功能,但是测试了"通过 PHP 函数的 sendmail 发送(推荐此方式)"怎么都没用,因为本人现在用的是iis+php环境,怎么调试都没有用,经过研究之后搞定,分享一下教大家在自己服务器上配置sendmail。很多php的网站例如Discuz的论坛和各种phpCMS的网站都用到。
* [/ g( L/ d( _& a0 v& X6 v首先你需要先到从http://glob.com.au/sendmail/下载sendmail.zip文件,点此可以直接下载噢,然后把它解压到如D:\php\sendmail\目录下。
9 ~( z# ?, ~, ?然后打开php.ini文件,找到下面这段代码
  y  [  O& }1 y; x' A6 C4 U# S
  1. [mail function] 3 A2 Z5 }8 T! L# l, k$ {" `- Z
  2. ; For Win32 only.
    - l+ @/ g4 a. H3 @- I# X. ]* O( |
  3. SMTP = localhost : Z; L& z2 c3 q8 A' n1 B
  4. smtp_port = 25
    & H4 p  n* O6 a" n
  5. ; For Win32 only.
    ) e) N& d# `! T) N; r
  6. ;sendmail_from = me@example.com
    8 o+ x9 }2 P" E  v) J# n* z9 x
  7. ; For Unix only. You may supply arguments as well (default: "sendmail -t -i"). 5 q& `$ i- S6 u* R# \  t( V. @  N0 i
  8. ; sendmail_path = "" 8 _- y6 Z3 x# C- Q5 W. C9 O" W# {& k: m" ?
  9. ; Force the addition of the specified parameters to be passed as extra parameters
    / [0 k+ h9 ?2 ~" _
  10. ; to the sendmail binary. These parameters will always replace the value of
    9 _) A6 p. p; U& Z1 ^: J; q
  11. ; the 5th parameter to mail(), even in safe mode. 6 T' C7 O- {' `$ _9 ~
  12. ;mail.force_extra_parameters =
复制代码
默认情况下是以本机做为邮件服务器,这里我们需要借用sendmail来发送邮件,用sendmail来配置如用qq、163的邮箱来发送(一般都是以这种方式)所以我们需要把所有的选项都注销,即把SMTP = localhost和smtp_port = 25前面加上";"然后把sendmai_path=""前面的";"删掉,改为sendmai_path="d:\php\sendmail\sendmail.exe -t",改完后的即是
4 b8 X5 K2 S0 K9 Q7 H7 T
  1. [mail function] ) Y$ y) m' r* R4 ^' r
  2. ; For Win32 only. - V& D& g% O6 X& {" e
  3. ;SMTP = localhost ! G- L; Q, ^9 \7 L# z& Z2 v
  4. ;smtp_port = 25
    - E8 L2 N' k* F( p5 y# {
  5. ; For Win32 only.
    3 S5 J2 n+ J+ j% e2 R" ^! _; F
  6. ;sendmail_from = me@example.com
    ' _# {. g! m) `  ~/ A: j1 }, l; M
  7. ; For Unix only. You may supply arguments as well (default: "sendmail -t -i"). : c2 o- C9 w0 W$ S( n# d
  8. sendmail_path = "d:\php\sendmail\sendmail.exe -t" & C/ o# J4 P7 {
  9. ; Force the addition of the specified parameters to be passed as extra parameters
    : S( V. m, N" }3 `/ q% _! b2 N0 W. F
  10. ; to the sendmail binary. These parameters will always replace the value of / N8 R8 Z% S( {7 \/ w* |; f
  11. ; the 5th parameter to mail(), even in safe mode.
    . x4 p* F, k# z+ j
  12. ;mail.force_extra_parameters =
复制代码

$ \! o6 W9 ]: ~注意以上只需要开启sendmail_path即可,然后保存 + B, f& U. M- O5 V" y8 v) m$ V- t
* J* U6 l" j1 w8 ?5 ?/ [6 e: f4 @# R% K
接着修改sendmail目录下的sendmail.ini文件,主要填的内容有以下几项
+ S1 \7 }( y0 O! X4 b0 Y
  1. smtp_server=smtp服务器地址(如 smtp.ym.163.com)
    7 W8 o% @. {: L5 @% v5 z5 m7 N
  2. auth_username=邮箱登录名(如 info@xxxx.com) * B% a- b8 m' f, H2 a4 V
  3. auth_password=邮箱密码(如 xxxxxx)
    ) L! f7 Q4 P: o$ l7 d
  4. force_sender=发件人地址全写(如 info@xxxx.com)
复制代码
另外还有一项
9 S" \8 K! W7 n! L' u* ~
  1. ; auto = use SSL for port 465, otherwise try to use TLS
复制代码
/ K6 P" @9 o3 }& W
把前面的";"删除,即开启SSL安全登录选项即可 - A2 o, _! K7 @: X6 n

+ v9 N; j2 T8 g. N: S3 \) P以上四项正确填写修改完成后保存,然后重启IIS即可正常使用。
) D" `5 ]- ]3 `: I9 z
1 s9 Q" D) P; P% J# D8 r  v如果不能发送邮件,检查下端口是不是被屏蔽了,杀毒软件是不是设置了禁止发送邮件等  
* \2 Q7 C+ J) S3 e
* y0 J0 l; g; ]/ b
回复

使用道具 举报

 楼主| 发表于 2012-9-2 10:24:28 | 显示全部楼层
http://www.phpmarker.com/1.html
* F7 Z, \3 c) s2 x& y- \这个是另外一种方法,但是两种方法测试过,貌似都不管用
您需要登录后才可以回帖 登录 | 注册帐号

本版积分规则

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

虾皮社区,成立十年了!

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

Copyright © 2007-2019 xp6.org Powered by Discuz

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