搜索
查看: 18462|回复: 1

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

[复制链接]
发表于 2012-9-2 08:29:24 | 显示全部楼层 |阅读模式
  最近研究uchome,使用在线发邮件的功能,但是测试了"通过 PHP 函数的 sendmail 发送(推荐此方式)"怎么都没用,因为本人现在用的是iis+php环境,怎么调试都没有用,经过研究之后搞定,分享一下教大家在自己服务器上配置sendmail。很多php的网站例如Discuz的论坛和各种phpCMS的网站都用到。. h$ B9 J) m: d0 E; y- G
首先你需要先到从http://glob.com.au/sendmail/下载sendmail.zip文件,点此可以直接下载噢,然后把它解压到如D:\php\sendmail\目录下。
+ P: Y3 s4 d6 Q; z0 }0 y然后打开php.ini文件,找到下面这段代码
* |0 ^0 f) T: J
  1. [mail function] ; r3 q) N4 c: F& X
  2. ; For Win32 only. % F6 V2 u0 w* d
  3. SMTP = localhost ' y5 @: I* w; \5 o3 @$ L9 [9 Y5 M
  4. smtp_port = 25 7 R* C! v$ p* |
  5. ; For Win32 only.
    % ?9 X9 n) u$ S3 n- i- C
  6. ;sendmail_from = me@example.com
    ; U# l! f5 K+ f) H% d2 Q  S* M3 I3 S
  7. ; For Unix only. You may supply arguments as well (default: "sendmail -t -i"). ( F. E$ n9 r. E& E4 q: b) W; B
  8. ; sendmail_path = ""
    4 t+ h5 @5 \" l' G
  9. ; Force the addition of the specified parameters to be passed as extra parameters
    8 V3 T1 ]7 Y4 v4 T1 U7 ^4 \
  10. ; to the sendmail binary. These parameters will always replace the value of
    - z$ e$ Z- H+ L- k* e
  11. ; the 5th parameter to mail(), even in safe mode. ! ?' K. `1 F5 N' Q8 z$ U
  12. ;mail.force_extra_parameters =
复制代码
默认情况下是以本机做为邮件服务器,这里我们需要借用sendmail来发送邮件,用sendmail来配置如用qq、163的邮箱来发送(一般都是以这种方式)所以我们需要把所有的选项都注销,即把SMTP = localhost和smtp_port = 25前面加上";"然后把sendmai_path=""前面的";"删掉,改为sendmai_path="d:\php\sendmail\sendmail.exe -t",改完后的即是 % P/ o; l/ m3 z; k" F
  1. [mail function] , k& h2 C& k5 W5 L
  2. ; For Win32 only. * E" b, J# @: t& C5 P
  3. ;SMTP = localhost " C6 t* i& u" W: L4 m/ X* v; Y5 R
  4. ;smtp_port = 25 7 Y# ?2 a; |/ r* b
  5. ; For Win32 only.
    3 F( C3 ]4 G2 T8 d* H% M6 ^
  6. ;sendmail_from = me@example.com 6 t* u$ t5 X2 m! ]
  7. ; For Unix only. You may supply arguments as well (default: "sendmail -t -i"). 9 p, b- N7 R9 f) b" _% M6 e
  8. sendmail_path = "d:\php\sendmail\sendmail.exe -t"
    " G9 w% R7 P6 I- B( Z6 t6 N
  9. ; Force the addition of the specified parameters to be passed as extra parameters + r6 f: E; |$ q
  10. ; to the sendmail binary. These parameters will always replace the value of ! t  V' h; K+ B' ?: h4 f7 i
  11. ; the 5th parameter to mail(), even in safe mode.
    ) ^! c' d, B! W2 {, e7 J+ u
  12. ;mail.force_extra_parameters =
复制代码

# |) W" z# w0 ~( i注意以上只需要开启sendmail_path即可,然后保存   j3 G7 b" a: W# m: ?
' K4 Y7 A) j: Z: q' _5 @
接着修改sendmail目录下的sendmail.ini文件,主要填的内容有以下几项 % S+ x+ n% B- b; f! p! f
  1. smtp_server=smtp服务器地址(如 smtp.ym.163.com)
    , E9 s- w: W7 m
  2. auth_username=邮箱登录名(如 info@xxxx.com)
    1 t2 ~& f; }0 c, A, w( J0 g' j
  3. auth_password=邮箱密码(如 xxxxxx) * [2 Q6 ?+ x5 C' G7 N* c
  4. force_sender=发件人地址全写(如 info@xxxx.com)
复制代码
另外还有一项
% f. @( ^# t3 b- C
  1. ; auto = use SSL for port 465, otherwise try to use TLS
复制代码

1 B# {" }4 K' d把前面的";"删除,即开启SSL安全登录选项即可
: s" z$ s( L) Q( h8 x7 _' M. ~3 i+ p. U& ?: T  U2 C
以上四项正确填写修改完成后保存,然后重启IIS即可正常使用。
% r7 y7 P: q% g% e0 O) D" \, L4 T4 i7 ~' y$ o3 D  a4 H
如果不能发送邮件,检查下端口是不是被屏蔽了,杀毒软件是不是设置了禁止发送邮件等  2 M$ q, `( r8 V- V) E& s

" ]1 F6 i: V) n; S9 K/ {! i
回复

使用道具 举报

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

本版积分规则

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

虾皮社区,成立十年了!

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

Copyright © 2007-2019 xp6.org Powered by Discuz

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