搜索
查看: 18782|回复: 1

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

[复制链接]
发表于 2012-9-2 08:29:24 | 显示全部楼层 |阅读模式
  最近研究uchome,使用在线发邮件的功能,但是测试了"通过 PHP 函数的 sendmail 发送(推荐此方式)"怎么都没用,因为本人现在用的是iis+php环境,怎么调试都没有用,经过研究之后搞定,分享一下教大家在自己服务器上配置sendmail。很多php的网站例如Discuz的论坛和各种phpCMS的网站都用到。) @5 y4 ~/ p$ ?. k3 Q/ r  w
首先你需要先到从http://glob.com.au/sendmail/下载sendmail.zip文件,点此可以直接下载噢,然后把它解压到如D:\php\sendmail\目录下。7 y" x! u( F: `4 [
然后打开php.ini文件,找到下面这段代码
, F# ^1 Y: i5 E' v4 w/ Q$ h
  1. [mail function] 2 N& t- M" ]- y7 Q- S
  2. ; For Win32 only. / v8 x; i7 D& ]# {6 q! K
  3. SMTP = localhost
    9 ~, V  _! ], m' l5 w; c! k
  4. smtp_port = 25 - y# h. p# H% p( t
  5. ; For Win32 only. 1 \# d' h; w6 r3 s- l
  6. ;sendmail_from = me@example.com 2 }2 x# v; K1 n# o$ P. q
  7. ; For Unix only. You may supply arguments as well (default: "sendmail -t -i"). + ]3 B0 X- k$ B* y7 P$ i
  8. ; sendmail_path = "" $ f  }2 a5 d0 u: \1 s; b
  9. ; Force the addition of the specified parameters to be passed as extra parameters 8 G9 y- g( W9 n# f& c' q
  10. ; to the sendmail binary. These parameters will always replace the value of ! n) Z' B9 q' a7 N' i
  11. ; the 5th parameter to mail(), even in safe mode. % ?* a7 e  k: G2 |
  12. ;mail.force_extra_parameters =
复制代码
默认情况下是以本机做为邮件服务器,这里我们需要借用sendmail来发送邮件,用sendmail来配置如用qq、163的邮箱来发送(一般都是以这种方式)所以我们需要把所有的选项都注销,即把SMTP = localhost和smtp_port = 25前面加上";"然后把sendmai_path=""前面的";"删掉,改为sendmai_path="d:\php\sendmail\sendmail.exe -t",改完后的即是
' N  p7 J  ^8 \( |
  1. [mail function] 2 R# \9 V) b6 n+ {" \' W& G
  2. ; For Win32 only. 9 [0 [1 Y) b/ F
  3. ;SMTP = localhost
    + p/ O, B' `$ K: H, _" M8 o  v
  4. ;smtp_port = 25 0 q6 R) F2 Y3 B2 C0 T6 A, n3 u3 L
  5. ; For Win32 only. ( E( U/ M8 t' B  D" G
  6. ;sendmail_from = me@example.com 4 y: e. t$ I; N* l9 v+ |$ m- I, d
  7. ; For Unix only. You may supply arguments as well (default: "sendmail -t -i"). # B) `' \8 O2 h( i- }4 U" d
  8. sendmail_path = "d:\php\sendmail\sendmail.exe -t"
    . p# |8 j' G& [' t; @- r% H+ L4 Y2 O7 j
  9. ; Force the addition of the specified parameters to be passed as extra parameters
    8 j0 S7 V- h7 V  W# ~& K
  10. ; to the sendmail binary. These parameters will always replace the value of 4 a( b) o7 e, Z3 v" J( B9 Z! F
  11. ; the 5th parameter to mail(), even in safe mode. 3 U' R  r7 i6 H- ^4 p; S+ ~, E
  12. ;mail.force_extra_parameters =
复制代码

& x* f( ^6 P* K, E5 X注意以上只需要开启sendmail_path即可,然后保存
. M  `  S  s! K2 Y7 X3 i/ x' ^; e5 w) d/ a9 B" x( C- ^
接着修改sendmail目录下的sendmail.ini文件,主要填的内容有以下几项 & r/ X3 U' P/ j# S' [# q( i1 v
  1. smtp_server=smtp服务器地址(如 smtp.ym.163.com) ) \! f* n1 M7 R3 ~1 p4 S
  2. auth_username=邮箱登录名(如 info@xxxx.com) . w, L9 o* c$ E- a# |5 e
  3. auth_password=邮箱密码(如 xxxxxx)
    , o, F- e: y8 a( J# }1 x: t- M( f$ V
  4. force_sender=发件人地址全写(如 info@xxxx.com)
复制代码
另外还有一项
8 e4 x1 d8 I" }( A0 z9 w
  1. ; auto = use SSL for port 465, otherwise try to use TLS
复制代码
* I* }; K. t8 m$ G
把前面的";"删除,即开启SSL安全登录选项即可
1 L! [0 D" ^+ q& ]$ O7 K
% b, a' n- s5 f0 |5 ~以上四项正确填写修改完成后保存,然后重启IIS即可正常使用。
9 M) o1 E1 ^1 w& T' T2 ^$ [. a- L
; O, Y3 g$ G: `2 q: E& Y如果不能发送邮件,检查下端口是不是被屏蔽了,杀毒软件是不是设置了禁止发送邮件等  
* S7 N8 ]% ]0 _4 B3 i4 N
" K0 _6 P: q) X- w' c# E% X
回复

使用道具 举报

 楼主| 发表于 2012-9-2 10:24:28 | 显示全部楼层
http://www.phpmarker.com/1.html ' T1 E7 V$ X  W2 u. x& Q5 G
这个是另外一种方法,但是两种方法测试过,貌似都不管用
您需要登录后才可以回帖 登录 | 注册帐号

本版积分规则

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

虾皮社区,成立十年了!

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

Copyright © 2007-2019 xp6.org Powered by Discuz

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