搜索
查看: 18517|回复: 1

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

[复制链接]
发表于 2012-9-2 08:29:24 | 显示全部楼层 |阅读模式
  最近研究uchome,使用在线发邮件的功能,但是测试了"通过 PHP 函数的 sendmail 发送(推荐此方式)"怎么都没用,因为本人现在用的是iis+php环境,怎么调试都没有用,经过研究之后搞定,分享一下教大家在自己服务器上配置sendmail。很多php的网站例如Discuz的论坛和各种phpCMS的网站都用到。
( r/ @: C. F# o; \4 F1 K3 X首先你需要先到从http://glob.com.au/sendmail/下载sendmail.zip文件,点此可以直接下载噢,然后把它解压到如D:\php\sendmail\目录下。
# N. \2 H2 A# {' G6 D然后打开php.ini文件,找到下面这段代码
; c& w; P4 g! p. J& l
  1. [mail function] ) @* ~, g' e. o4 V. i
  2. ; For Win32 only.
    , R7 P8 ^$ D/ E
  3. SMTP = localhost
    ; `. P. K% ?" U0 i( V- E& P# ~* B
  4. smtp_port = 25
    ( v$ z6 |# y+ @8 b& T) Q
  5. ; For Win32 only.
    ! t( ~# u. _7 o) D3 H8 [, I$ V+ O- Z
  6. ;sendmail_from = me@example.com
    2 P5 M& E4 l! ]
  7. ; For Unix only. You may supply arguments as well (default: "sendmail -t -i"). ! ?, i' [* ?' ^- h4 @, [3 w2 o
  8. ; sendmail_path = ""
    " d. w2 V3 T, _4 T/ L8 r
  9. ; Force the addition of the specified parameters to be passed as extra parameters ; P. G# |. C0 q% Z
  10. ; to the sendmail binary. These parameters will always replace the value of
    ' [0 s, l# Z4 H5 a, h
  11. ; the 5th parameter to mail(), even in safe mode. 8 V  v" E' n* Z; n& R$ 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",改完后的即是 7 Z8 q5 ]  L9 W3 i
  1. [mail function] 9 j( @5 W# Q& X* H& s
  2. ; For Win32 only. - }) C3 e) Q' I$ H) Q& C/ R- A  E
  3. ;SMTP = localhost
    % ?! r" y1 E- u0 G* i
  4. ;smtp_port = 25 ' a  ]% Y! @2 m" t, t
  5. ; For Win32 only. 5 o9 y4 `9 b5 \4 W3 o+ K) |
  6. ;sendmail_from = me@example.com 6 I2 G! W5 O  m8 r7 H
  7. ; For Unix only. You may supply arguments as well (default: "sendmail -t -i").
    * J! [7 \+ n8 h" o, @8 ~; S
  8. sendmail_path = "d:\php\sendmail\sendmail.exe -t" . M& _/ s0 E. t! d
  9. ; Force the addition of the specified parameters to be passed as extra parameters
    & p1 t# F& p/ E! T+ Q3 H+ {
  10. ; to the sendmail binary. These parameters will always replace the value of 1 B! j/ ~( G, o1 _
  11. ; the 5th parameter to mail(), even in safe mode. , ]# F5 a3 s" n- e
  12. ;mail.force_extra_parameters =
复制代码
9 X& e6 U" D: A3 j& A% {- R; k
注意以上只需要开启sendmail_path即可,然后保存
; T: l- _6 Z/ y8 }+ d
7 f9 c7 B$ ]2 l' W( d( s( r接着修改sendmail目录下的sendmail.ini文件,主要填的内容有以下几项
: J, |+ r1 {' M- a3 K1 D: _5 n
  1. smtp_server=smtp服务器地址(如 smtp.ym.163.com) & Z8 e5 U/ Q# i8 |$ D) w+ U: ?% N
  2. auth_username=邮箱登录名(如 info@xxxx.com)
    + ^. m" o: _4 l4 y
  3. auth_password=邮箱密码(如 xxxxxx) 7 _& l2 t% w" x- S! P! y( I
  4. force_sender=发件人地址全写(如 info@xxxx.com)
复制代码
另外还有一项
& x, b0 U, m: N& o
  1. ; auto = use SSL for port 465, otherwise try to use TLS
复制代码

- X/ g2 ~! [3 c  S  f% a把前面的";"删除,即开启SSL安全登录选项即可 # D) w+ B6 ~7 z8 o* s4 ]6 U

0 G0 u9 a# q  o& A1 o+ R1 O以上四项正确填写修改完成后保存,然后重启IIS即可正常使用。 $ E6 o- ], r" @9 f& o; c0 a3 E

; t: P. @6 k2 y% b如果不能发送邮件,检查下端口是不是被屏蔽了,杀毒软件是不是设置了禁止发送邮件等  3 i( p+ g' s2 S  d: ^4 w7 L$ N
: E  Q4 L. ~5 n( c
回复

使用道具 举报

 楼主| 发表于 2012-9-2 10:24:28 | 显示全部楼层
http://www.phpmarker.com/1.html 9 I. W9 M, C% H/ J" t5 h) u7 F3 ~6 o4 ]
这个是另外一种方法,但是两种方法测试过,貌似都不管用
您需要登录后才可以回帖 登录 | 注册帐号

本版积分规则

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

虾皮社区,成立十年了!

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

Copyright © 2007-2019 xp6.org Powered by Discuz

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