搜索
查看: 18886|回复: 1

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

[复制链接]
发表于 2012-9-2 08:29:24 | 显示全部楼层 |阅读模式
  最近研究uchome,使用在线发邮件的功能,但是测试了"通过 PHP 函数的 sendmail 发送(推荐此方式)"怎么都没用,因为本人现在用的是iis+php环境,怎么调试都没有用,经过研究之后搞定,分享一下教大家在自己服务器上配置sendmail。很多php的网站例如Discuz的论坛和各种phpCMS的网站都用到。
9 x; O) x8 N& a6 \5 H% }8 u首先你需要先到从http://glob.com.au/sendmail/下载sendmail.zip文件,点此可以直接下载噢,然后把它解压到如D:\php\sendmail\目录下。
/ P6 }8 |- m9 S+ Z* ?+ }! y7 k然后打开php.ini文件,找到下面这段代码
. B. z: U0 f! Q
  1. [mail function]
    ' N5 _* M4 i" h! @
  2. ; For Win32 only.
    & ^; {1 U8 e* f: Z: g  X
  3. SMTP = localhost
    1 t3 @9 e" H" q# W- h" G
  4. smtp_port = 25 ( _5 B! _: f" H/ H
  5. ; For Win32 only.
    ( Z. u5 l. q  Q) j4 l# ^$ r) g# N
  6. ;sendmail_from = me@example.com
    ! \- H* O9 E# i. E
  7. ; For Unix only. You may supply arguments as well (default: "sendmail -t -i"). - h" N% P4 K2 P- `+ X; Z) k! S
  8. ; sendmail_path = ""
    $ H! m9 c+ H+ S- D& ]
  9. ; Force the addition of the specified parameters to be passed as extra parameters
    ; N9 E4 s0 l* X/ p9 X8 K
  10. ; to the sendmail binary. These parameters will always replace the value of ' Y: r% B+ w& v0 r+ V. G8 n' b
  11. ; the 5th parameter to mail(), even in safe mode. $ D6 Q! r: ^8 w3 e6 L' 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",改完后的即是 % J, s1 j7 V3 Q. Z9 `' X
  1. [mail function] ! i* a7 v) k5 w4 i, u+ u; t* @% n
  2. ; For Win32 only. $ Z$ ?+ @% O4 T- A+ B
  3. ;SMTP = localhost
    2 ]7 I. X. {* x5 P
  4. ;smtp_port = 25
    4 n2 N; `/ {/ j8 [7 Z2 @
  5. ; For Win32 only. ( r" R% b8 o% ^. Z
  6. ;sendmail_from = me@example.com 1 W' m0 n+ W; G5 R
  7. ; For Unix only. You may supply arguments as well (default: "sendmail -t -i"). 5 `7 `1 F+ B6 i5 a7 N2 j) q
  8. sendmail_path = "d:\php\sendmail\sendmail.exe -t" 5 P7 j* @6 [+ q6 l
  9. ; Force the addition of the specified parameters to be passed as extra parameters 6 [6 c! l6 y! V: T3 v
  10. ; to the sendmail binary. These parameters will always replace the value of 9 y4 c% F+ u- t/ }9 P
  11. ; the 5th parameter to mail(), even in safe mode. ! m* f# R1 N* _. n
  12. ;mail.force_extra_parameters =
复制代码

$ B  X- g0 Z3 v& ^/ a0 j0 w. h注意以上只需要开启sendmail_path即可,然后保存 1 B  ~4 c$ S4 a% ~5 ^" T8 G, J
3 m7 q* {/ Y( A' i+ A3 B
接着修改sendmail目录下的sendmail.ini文件,主要填的内容有以下几项 3 g0 m% C# ]' w) V
  1. smtp_server=smtp服务器地址(如 smtp.ym.163.com)
    . A0 Y* W7 F- W: P: [0 M
  2. auth_username=邮箱登录名(如 info@xxxx.com)
    , |! K- J+ X/ x& R: f/ t6 h' Y
  3. auth_password=邮箱密码(如 xxxxxx)
    4 t, t2 J2 V. O7 s/ R- e8 r
  4. force_sender=发件人地址全写(如 info@xxxx.com)
复制代码
另外还有一项
+ l; f, p+ q7 x) N+ J, a
  1. ; auto = use SSL for port 465, otherwise try to use TLS
复制代码

1 @% B2 k7 v! M* K/ v8 E; F把前面的";"删除,即开启SSL安全登录选项即可
$ p( Z$ [8 O5 O/ C% B
6 u5 }( Y0 N+ ?2 m以上四项正确填写修改完成后保存,然后重启IIS即可正常使用。
5 R; A; \& h( D# b4 C1 f9 O( @; t, y
如果不能发送邮件,检查下端口是不是被屏蔽了,杀毒软件是不是设置了禁止发送邮件等  
) w: E1 S& @: |& Z* ]1 F+ Z+ }! N8 Q) a, r
回复

使用道具 举报

 楼主| 发表于 2012-9-2 10:24:28 | 显示全部楼层
http://www.phpmarker.com/1.html . q/ s& s0 c  t# N/ J2 k
这个是另外一种方法,但是两种方法测试过,貌似都不管用
您需要登录后才可以回帖 登录 | 注册帐号

本版积分规则

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

虾皮社区,成立十年了!

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

Copyright © 2007-2019 xp6.org Powered by Discuz

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