搜索
查看: 19588|回复: 1

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

[复制链接]
发表于 2012-9-2 08:29:24 | 显示全部楼层 |阅读模式
  最近研究uchome,使用在线发邮件的功能,但是测试了"通过 PHP 函数的 sendmail 发送(推荐此方式)"怎么都没用,因为本人现在用的是iis+php环境,怎么调试都没有用,经过研究之后搞定,分享一下教大家在自己服务器上配置sendmail。很多php的网站例如Discuz的论坛和各种phpCMS的网站都用到。
/ R+ @$ h; R; F8 ^  ^8 I8 Y6 b) C* G首先你需要先到从http://glob.com.au/sendmail/下载sendmail.zip文件,点此可以直接下载噢,然后把它解压到如D:\php\sendmail\目录下。" e  N- ~8 c- v/ p; g7 q9 q8 I' g
然后打开php.ini文件,找到下面这段代码% R* @# }0 k7 M( J/ M
  1. [mail function] , N# @/ ~! t# a+ ^4 }  ]
  2. ; For Win32 only.
    " N1 g$ \2 Z9 o3 G  i2 ]* ~
  3. SMTP = localhost : S$ [& }7 i4 R# e" e
  4. smtp_port = 25 - H  K) c% {$ _& D0 Z5 T
  5. ; For Win32 only.
    % w& V8 o1 y0 @3 t! f/ d/ E, o
  6. ;sendmail_from = me@example.com ) O/ N& W5 e7 P8 B5 F
  7. ; For Unix only. You may supply arguments as well (default: "sendmail -t -i").
    ! L  m5 [& K5 F$ Q2 N: h( |
  8. ; sendmail_path = ""
    9 q( @: h6 |7 v" H
  9. ; Force the addition of the specified parameters to be passed as extra parameters . A* F: I0 t2 U7 B) y
  10. ; to the sendmail binary. These parameters will always replace the value of
    - v: ]- Q/ m/ K& b* _# t- [' x( B
  11. ; the 5th parameter to mail(), even in safe mode.
    4 e3 @! x7 {8 R2 {4 o" |
  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 ~* Z0 m9 F3 ^) Z
  1. [mail function] $ [1 i4 E2 y9 k1 M2 `% y+ `8 |
  2. ; For Win32 only.
    ; ?$ h( k/ {8 J) a/ V% ^9 h" H. c
  3. ;SMTP = localhost 4 N! ~' K: j6 V. ?
  4. ;smtp_port = 25
    ( S8 M, F  y* [# m4 `7 B* D3 ]
  5. ; For Win32 only. ; G$ i* ?1 T& O  H: `
  6. ;sendmail_from = me@example.com ( P. i( ^6 o% D" |. q
  7. ; For Unix only. You may supply arguments as well (default: "sendmail -t -i").
    # O, W1 _3 i, i# ~/ S0 l1 w
  8. sendmail_path = "d:\php\sendmail\sendmail.exe -t"
    ' r" @3 g" \% N1 U- w
  9. ; Force the addition of the specified parameters to be passed as extra parameters
    - ^$ Q  J, s4 F1 V
  10. ; to the sendmail binary. These parameters will always replace the value of , T. }; q1 b% `( t
  11. ; the 5th parameter to mail(), even in safe mode.
    3 n  a- t( {) ?2 K; P" J
  12. ;mail.force_extra_parameters =
复制代码
( J# p' a- ~8 l: I  v/ X* K: u
注意以上只需要开启sendmail_path即可,然后保存 7 I$ @5 \5 S3 j

$ Y  ^  J/ ^  @接着修改sendmail目录下的sendmail.ini文件,主要填的内容有以下几项
* n& R  C; S" b4 f' ^1 I! p, [
  1. smtp_server=smtp服务器地址(如 smtp.ym.163.com) ! v6 V1 H- K9 ^5 N* c/ I' W' e
  2. auth_username=邮箱登录名(如 info@xxxx.com)
    ! V1 A6 v7 ~- }: c5 }4 r
  3. auth_password=邮箱密码(如 xxxxxx) 1 @8 ]% u& f( y" h$ X* D1 q
  4. force_sender=发件人地址全写(如 info@xxxx.com)
复制代码
另外还有一项
, s: e3 m) X4 r% {6 L- \4 C0 f" d; Y
  1. ; auto = use SSL for port 465, otherwise try to use TLS
复制代码
% C% s" @7 ~/ ~0 O
把前面的";"删除,即开启SSL安全登录选项即可 : W5 U4 M9 w" q

% U0 H' J9 ?9 K( u3 a# o' B以上四项正确填写修改完成后保存,然后重启IIS即可正常使用。
; M  A* l) Z$ k  w4 V6 m  ^6 t" Z; i9 k, u, l& {! D4 @$ A: T
如果不能发送邮件,检查下端口是不是被屏蔽了,杀毒软件是不是设置了禁止发送邮件等  + A6 o9 F1 s4 w! U3 _
2 r' H4 k# l; Q7 `% g
回复

使用道具 举报

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

本版积分规则

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

虾皮社区,成立十年了!

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

Copyright © 2007-2019 xp6.org Powered by Discuz

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