搜索
查看: 18511|回复: 1

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

[复制链接]
发表于 2012-9-2 08:29:24 | 显示全部楼层 |阅读模式
  最近研究uchome,使用在线发邮件的功能,但是测试了"通过 PHP 函数的 sendmail 发送(推荐此方式)"怎么都没用,因为本人现在用的是iis+php环境,怎么调试都没有用,经过研究之后搞定,分享一下教大家在自己服务器上配置sendmail。很多php的网站例如Discuz的论坛和各种phpCMS的网站都用到。2 J  `4 |0 D( f
首先你需要先到从http://glob.com.au/sendmail/下载sendmail.zip文件,点此可以直接下载噢,然后把它解压到如D:\php\sendmail\目录下。
+ G6 V6 ~0 v- Y$ S1 W) A: c然后打开php.ini文件,找到下面这段代码
: v4 O* l) I  ^" P) A; @: A3 o
  1. [mail function]
    : e; ^1 T. D2 v) G. f8 ]
  2. ; For Win32 only.
    , F$ q8 u5 A) E% o
  3. SMTP = localhost " _6 W6 {3 ~; Y9 a
  4. smtp_port = 25
    ; X' u# c' k) }" g
  5. ; For Win32 only. ( K+ V1 c) B  v" _" x
  6. ;sendmail_from = me@example.com
    5 X5 p( i  [! Z* n( h
  7. ; For Unix only. You may supply arguments as well (default: "sendmail -t -i").
    & H% V( ~, F/ p7 G+ q* q
  8. ; sendmail_path = ""
    4 b; v5 {$ n" r$ P5 f0 A
  9. ; Force the addition of the specified parameters to be passed as extra parameters : i: J) y' H/ C' c
  10. ; to the sendmail binary. These parameters will always replace the value of 0 O, _! k0 k6 s' T/ `- D& U: f
  11. ; the 5th parameter to mail(), even in safe mode.
    5 C) V) X+ {4 y3 F
  12. ;mail.force_extra_parameters =
复制代码
默认情况下是以本机做为邮件服务器,这里我们需要借用sendmail来发送邮件,用sendmail来配置如用qq、163的邮箱来发送(一般都是以这种方式)所以我们需要把所有的选项都注销,即把SMTP = localhost和smtp_port = 25前面加上";"然后把sendmai_path=""前面的";"删掉,改为sendmai_path="d:\php\sendmail\sendmail.exe -t",改完后的即是 5 l. G) n! A8 i* L2 j7 a' {9 I( z( A
  1. [mail function]
    " r. L+ n* @! k$ F* C# x$ o! v
  2. ; For Win32 only.
    / W. H& m, _2 L! z6 r, n2 W
  3. ;SMTP = localhost 1 ]0 }2 w) O% Y4 ]
  4. ;smtp_port = 25
    $ O$ `% A- W4 b/ O
  5. ; For Win32 only.
    & x9 O" Z# g7 C) v
  6. ;sendmail_from = me@example.com
    . y3 D( |5 E) ]9 T3 N. b
  7. ; For Unix only. You may supply arguments as well (default: "sendmail -t -i").
    ' H& F- C/ S5 i( E2 y. @! w
  8. sendmail_path = "d:\php\sendmail\sendmail.exe -t"
    ' q3 r! g# N3 x- `0 g2 G
  9. ; Force the addition of the specified parameters to be passed as extra parameters
    * K, U* b/ M5 J, [* `& J( ^' z
  10. ; to the sendmail binary. These parameters will always replace the value of
    ! }+ d2 ?3 |3 p' M
  11. ; the 5th parameter to mail(), even in safe mode. * Z# ?1 E* Q: G
  12. ;mail.force_extra_parameters =
复制代码
% u. P, t4 ^# u3 K+ g' W
注意以上只需要开启sendmail_path即可,然后保存
+ _& v4 b! W9 n# a  D* G1 N; T+ `( i7 u# [
接着修改sendmail目录下的sendmail.ini文件,主要填的内容有以下几项 ; n: I  a8 D' O+ z; C; ^4 x
  1. smtp_server=smtp服务器地址(如 smtp.ym.163.com)
    9 L9 a! q7 m: Q+ y$ Z& ~' n8 H
  2. auth_username=邮箱登录名(如 info@xxxx.com) . T# Y; K0 {" d
  3. auth_password=邮箱密码(如 xxxxxx)
    : B# \! U# `5 y! H. f1 r; _
  4. force_sender=发件人地址全写(如 info@xxxx.com)
复制代码
另外还有一项 3 b0 q7 q0 i2 t& `
  1. ; auto = use SSL for port 465, otherwise try to use TLS
复制代码

" o7 O7 [5 Z* b. s# \" a* `把前面的";"删除,即开启SSL安全登录选项即可
) B9 x4 A9 y" w6 f. [: z: y$ L5 X9 d; R
以上四项正确填写修改完成后保存,然后重启IIS即可正常使用。 4 i& R5 c7 W8 R1 `1 b9 P$ K' ]( @
( K4 p4 v& ^0 }
如果不能发送邮件,检查下端口是不是被屏蔽了,杀毒软件是不是设置了禁止发送邮件等  
! N- W- g' w" I( y* l1 D# _" d+ w- K/ e
回复

使用道具 举报

 楼主| 发表于 2012-9-2 10:24:28 | 显示全部楼层
http://www.phpmarker.com/1.html
6 p5 C  B, r5 n* {8 A0 n* H" u$ R这个是另外一种方法,但是两种方法测试过,貌似都不管用
您需要登录后才可以回帖 登录 | 注册帐号

本版积分规则

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

虾皮社区,成立十年了!

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

Copyright © 2007-2019 xp6.org Powered by Discuz

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