搜索
查看: 18864|回复: 1

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

[复制链接]
发表于 2012-9-2 08:29:24 | 显示全部楼层 |阅读模式
  最近研究uchome,使用在线发邮件的功能,但是测试了"通过 PHP 函数的 sendmail 发送(推荐此方式)"怎么都没用,因为本人现在用的是iis+php环境,怎么调试都没有用,经过研究之后搞定,分享一下教大家在自己服务器上配置sendmail。很多php的网站例如Discuz的论坛和各种phpCMS的网站都用到。
8 e5 U% m2 x& x  m: A0 n" d首先你需要先到从http://glob.com.au/sendmail/下载sendmail.zip文件,点此可以直接下载噢,然后把它解压到如D:\php\sendmail\目录下。( X% V# |8 k. ?) b
然后打开php.ini文件,找到下面这段代码
# K, d4 r: d; d( }8 p& Q
  1. [mail function]
    / D& F' d/ g! p! T
  2. ; For Win32 only.
    . w0 r! r$ }, U- z
  3. SMTP = localhost $ G3 a* q9 g' a& M" C4 T
  4. smtp_port = 25
    2 ?, E  i; z* j! l! D
  5. ; For Win32 only.
    / `+ F# j7 |4 j
  6. ;sendmail_from = me@example.com
    0 g- a. A; n$ G; ?- W; P2 O0 j2 b
  7. ; For Unix only. You may supply arguments as well (default: "sendmail -t -i"). ! a2 b  q# L# T: f3 H
  8. ; sendmail_path = "" 2 f8 T; o: M5 J/ D
  9. ; Force the addition of the specified parameters to be passed as extra parameters
    + r0 l/ q7 V$ c( g! S5 x  W) B' n
  10. ; to the sendmail binary. These parameters will always replace the value of ! r' y. t+ ^, X" J: g0 A
  11. ; the 5th parameter to mail(), even in safe mode. # F' I8 D# `; A" f; q- p" c
  12. ;mail.force_extra_parameters =
复制代码
默认情况下是以本机做为邮件服务器,这里我们需要借用sendmail来发送邮件,用sendmail来配置如用qq、163的邮箱来发送(一般都是以这种方式)所以我们需要把所有的选项都注销,即把SMTP = localhost和smtp_port = 25前面加上";"然后把sendmai_path=""前面的";"删掉,改为sendmai_path="d:\php\sendmail\sendmail.exe -t",改完后的即是 " B; o) o9 ~( Y4 d4 B' ~5 G
  1. [mail function] " U! r- [! C; ~5 c: q9 s/ G
  2. ; For Win32 only. 9 k, u1 l' [' Q& ]0 P
  3. ;SMTP = localhost + B! Y7 J+ a" x5 z; v
  4. ;smtp_port = 25
    ; o( `; i' t: N
  5. ; For Win32 only. + a$ C) C' V& R& f/ b% o
  6. ;sendmail_from = me@example.com
    4 L$ j8 g5 {! d: X+ _) R6 X
  7. ; For Unix only. You may supply arguments as well (default: "sendmail -t -i").
    4 l5 I" H9 k0 F
  8. sendmail_path = "d:\php\sendmail\sendmail.exe -t"
    : w4 W5 _2 x5 h) F/ @
  9. ; Force the addition of the specified parameters to be passed as extra parameters
    8 J1 z% v8 W' p' b" V+ q+ o: h
  10. ; to the sendmail binary. These parameters will always replace the value of
    ( \' L, u# \# p- }
  11. ; the 5th parameter to mail(), even in safe mode.
    . M  e# u  ?3 z8 L1 B, P7 O
  12. ;mail.force_extra_parameters =
复制代码
9 V. p0 J7 Z% n
注意以上只需要开启sendmail_path即可,然后保存 . N1 O0 `4 Q4 ]0 o
4 t, H$ O6 _, f4 Y$ r" u$ _, z' l$ x
接着修改sendmail目录下的sendmail.ini文件,主要填的内容有以下几项   C( X3 S$ m2 q. ~  s+ O
  1. smtp_server=smtp服务器地址(如 smtp.ym.163.com)
    2 X  }" K, ]6 O+ B- K5 N
  2. auth_username=邮箱登录名(如 info@xxxx.com)
    1 Z$ y5 T* A$ `# L, G
  3. auth_password=邮箱密码(如 xxxxxx)
    % y6 r1 R; |5 g. ]* h6 h
  4. force_sender=发件人地址全写(如 info@xxxx.com)
复制代码
另外还有一项
: ~7 W, Q4 x. a  M3 l& A( s+ m8 Z7 V
  1. ; auto = use SSL for port 465, otherwise try to use TLS
复制代码

, [2 I+ A0 g4 e$ |8 H; S把前面的";"删除,即开启SSL安全登录选项即可
# e5 M; }: C" o0 f/ l0 _& v0 l) [* }3 \9 r0 C
以上四项正确填写修改完成后保存,然后重启IIS即可正常使用。
$ h% i$ r; O# X5 e* ~9 f  E9 ?4 c+ u1 C. h: u
如果不能发送邮件,检查下端口是不是被屏蔽了,杀毒软件是不是设置了禁止发送邮件等  
# x5 O- T! ]8 l/ t7 z: A( D4 Y, F% i* _6 s& m! R
回复

使用道具 举报

 楼主| 发表于 2012-9-2 10:24:28 | 显示全部楼层
http://www.phpmarker.com/1.html
6 m2 t9 D3 ^- n7 ]9 [* D这个是另外一种方法,但是两种方法测试过,貌似都不管用
您需要登录后才可以回帖 登录 | 注册帐号

本版积分规则

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

虾皮社区,成立十年了!

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

Copyright © 2007-2019 xp6.org Powered by Discuz

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