搜索
查看: 18752|回复: 1

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

[复制链接]
发表于 2012-9-2 08:29:24 | 显示全部楼层 |阅读模式
  最近研究uchome,使用在线发邮件的功能,但是测试了"通过 PHP 函数的 sendmail 发送(推荐此方式)"怎么都没用,因为本人现在用的是iis+php环境,怎么调试都没有用,经过研究之后搞定,分享一下教大家在自己服务器上配置sendmail。很多php的网站例如Discuz的论坛和各种phpCMS的网站都用到。& z/ d/ q8 s7 A' x+ F
首先你需要先到从http://glob.com.au/sendmail/下载sendmail.zip文件,点此可以直接下载噢,然后把它解压到如D:\php\sendmail\目录下。
3 m- q+ B* `. M4 P3 w然后打开php.ini文件,找到下面这段代码3 H8 q0 w7 i7 D% |3 [- e# S/ I: A- Q2 `
  1. [mail function] ( Z9 W# n1 u* }. E5 y5 G
  2. ; For Win32 only. ; i+ n) c& }2 n  n0 g3 o- z: W
  3. SMTP = localhost
    ; w/ r$ m: W+ T0 d2 i2 @
  4. smtp_port = 25
    + C4 H, x5 B! f3 i
  5. ; For Win32 only.   `0 z  \0 p9 S. O! D; T( u
  6. ;sendmail_from = me@example.com
    ' I; S$ _! p* ~
  7. ; For Unix only. You may supply arguments as well (default: "sendmail -t -i"). 2 c" _" u$ o# `) s1 c9 C- T, x) S
  8. ; sendmail_path = "" - L9 h8 k) T: G) c7 |
  9. ; Force the addition of the specified parameters to be passed as extra parameters 7 \9 U4 K9 d) S$ c7 |
  10. ; to the sendmail binary. These parameters will always replace the value of
    1 `  I2 m2 J# F: L' y2 X5 V# q( @, Q
  11. ; the 5th parameter to mail(), even in safe mode.
    $ s- J3 v. g! L; C2 c) f! i/ h
  12. ;mail.force_extra_parameters =
复制代码
默认情况下是以本机做为邮件服务器,这里我们需要借用sendmail来发送邮件,用sendmail来配置如用qq、163的邮箱来发送(一般都是以这种方式)所以我们需要把所有的选项都注销,即把SMTP = localhost和smtp_port = 25前面加上";"然后把sendmai_path=""前面的";"删掉,改为sendmai_path="d:\php\sendmail\sendmail.exe -t",改完后的即是 - G# ^& @8 m7 ?* ^% b2 X
  1. [mail function] / w" G! U9 O4 R2 T' o
  2. ; For Win32 only.
    ; B% k8 W9 ?0 j' }! {9 n
  3. ;SMTP = localhost ( V3 |6 o8 o, R& R( O1 d
  4. ;smtp_port = 25
    - \( h  W" S$ p1 J" |7 ]  |
  5. ; For Win32 only. , ?/ [0 z8 @9 Z0 s- w% |
  6. ;sendmail_from = me@example.com * m/ I# W( `& L# h) c
  7. ; For Unix only. You may supply arguments as well (default: "sendmail -t -i").
    , f( [; |# _5 |! b" J) R  ~
  8. sendmail_path = "d:\php\sendmail\sendmail.exe -t"   y0 V* `* ?& Z" `8 G! Y* Q) A$ `
  9. ; Force the addition of the specified parameters to be passed as extra parameters ( q# {5 I7 g$ p% X0 f' B
  10. ; to the sendmail binary. These parameters will always replace the value of
    + @& J  F% s  x" S* v
  11. ; the 5th parameter to mail(), even in safe mode. ) v% S- A6 E; Q' ^! f! N
  12. ;mail.force_extra_parameters =
复制代码

+ c& O# _3 v3 y5 J注意以上只需要开启sendmail_path即可,然后保存
0 z9 C* d" `0 e0 A  p9 b5 k' ^) O4 g+ A3 v# c8 X+ l; G
接着修改sendmail目录下的sendmail.ini文件,主要填的内容有以下几项
6 w' d" E/ c( Q' i( B
  1. smtp_server=smtp服务器地址(如 smtp.ym.163.com)
    % g* x% `0 J/ s" p2 S6 w. X9 ]
  2. auth_username=邮箱登录名(如 info@xxxx.com)   p1 h5 W/ V1 |$ v
  3. auth_password=邮箱密码(如 xxxxxx)
    1 H% \" x# n# E/ b% E
  4. force_sender=发件人地址全写(如 info@xxxx.com)
复制代码
另外还有一项
/ m7 c+ l! o6 x  o9 _
  1. ; auto = use SSL for port 465, otherwise try to use TLS
复制代码

3 ~1 Q+ z- p8 _8 R* R, C8 h* T把前面的";"删除,即开启SSL安全登录选项即可
( b6 Z& \8 {7 ?1 S( h  }# n+ m
- V; Q0 y. k. R/ C以上四项正确填写修改完成后保存,然后重启IIS即可正常使用。
# P6 x) Y. l, r# \
5 p# F. o8 u7 M. y9 h如果不能发送邮件,检查下端口是不是被屏蔽了,杀毒软件是不是设置了禁止发送邮件等  
5 v+ N2 }) ?3 h0 c5 H9 _8 s6 t! l6 B: Y  P
回复

使用道具 举报

 楼主| 发表于 2012-9-2 10:24:28 | 显示全部楼层
http://www.phpmarker.com/1.html
, W5 V; a& v8 E/ d3 M: w这个是另外一种方法,但是两种方法测试过,貌似都不管用
您需要登录后才可以回帖 登录 | 注册帐号

本版积分规则

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

虾皮社区,成立十年了!

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

Copyright © 2007-2019 xp6.org Powered by Discuz

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