搜索
查看: 18694|回复: 1

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

[复制链接]
发表于 2012-9-2 08:29:24 | 显示全部楼层 |阅读模式
  最近研究uchome,使用在线发邮件的功能,但是测试了"通过 PHP 函数的 sendmail 发送(推荐此方式)"怎么都没用,因为本人现在用的是iis+php环境,怎么调试都没有用,经过研究之后搞定,分享一下教大家在自己服务器上配置sendmail。很多php的网站例如Discuz的论坛和各种phpCMS的网站都用到。! _# e6 S) e0 H; ?5 y7 e
首先你需要先到从http://glob.com.au/sendmail/下载sendmail.zip文件,点此可以直接下载噢,然后把它解压到如D:\php\sendmail\目录下。, B- n& z* `/ X6 \2 F
然后打开php.ini文件,找到下面这段代码0 ~, }+ ^( k( K$ G. O
  1. [mail function] 4 `. O2 ^, u- _
  2. ; For Win32 only.
    0 e! F4 e% b8 N; ]
  3. SMTP = localhost & y1 A2 `; I3 X2 K
  4. smtp_port = 25
    5 ^' `. X9 I' t/ |
  5. ; For Win32 only.
    4 ]3 g; X) B& }7 z: w# l
  6. ;sendmail_from = me@example.com
    ; _7 C1 {+ D2 D
  7. ; For Unix only. You may supply arguments as well (default: "sendmail -t -i").
    , q8 Y+ \' l9 q) p6 m& ^* e
  8. ; sendmail_path = "" : x" @9 k2 d9 B( {4 ^
  9. ; Force the addition of the specified parameters to be passed as extra parameters
      _: O" o$ I; e: _% l. f5 I
  10. ; to the sendmail binary. These parameters will always replace the value of
    & ~! ?2 Q- a2 I- k3 ?6 h
  11. ; the 5th parameter to mail(), even in safe mode.
    8 n' L2 [6 m+ `
  12. ;mail.force_extra_parameters =
复制代码
默认情况下是以本机做为邮件服务器,这里我们需要借用sendmail来发送邮件,用sendmail来配置如用qq、163的邮箱来发送(一般都是以这种方式)所以我们需要把所有的选项都注销,即把SMTP = localhost和smtp_port = 25前面加上";"然后把sendmai_path=""前面的";"删掉,改为sendmai_path="d:\php\sendmail\sendmail.exe -t",改完后的即是 ) n0 s5 _" t' _5 M- A1 c! ^
  1. [mail function] 0 y1 H! @. d% Y: X; ~+ }; M
  2. ; For Win32 only. % X' @! a0 C: a( Y
  3. ;SMTP = localhost " T. O% ?& ?. T9 D3 }9 A$ O; f3 t
  4. ;smtp_port = 25
    7 `# ~  a. U, ^# ]. F7 ^& X" U
  5. ; For Win32 only. 7 r; k. d. i( g6 I  ?% L% G
  6. ;sendmail_from = me@example.com & R& [$ b8 X; i2 e; ^+ L
  7. ; For Unix only. You may supply arguments as well (default: "sendmail -t -i"). + m; s4 x6 p4 B$ c8 U1 k
  8. sendmail_path = "d:\php\sendmail\sendmail.exe -t"
    ; ^2 R2 w9 T' M3 a& M! ?
  9. ; Force the addition of the specified parameters to be passed as extra parameters
    8 a6 c$ D" U. |. Q" X# P
  10. ; to the sendmail binary. These parameters will always replace the value of
    / H. C6 i0 o  [$ a
  11. ; the 5th parameter to mail(), even in safe mode. : Q4 L- I( E7 q5 Z
  12. ;mail.force_extra_parameters =
复制代码
9 p1 z6 |! N0 E; Q- Z/ |9 ^
注意以上只需要开启sendmail_path即可,然后保存
8 Q. b- H1 Q$ J/ I6 ?4 s# D
1 s( m5 k8 z2 }; O, b接着修改sendmail目录下的sendmail.ini文件,主要填的内容有以下几项 0 {, i2 A( w* g- {7 z' L$ Y9 {" |
  1. smtp_server=smtp服务器地址(如 smtp.ym.163.com) 9 r5 ^$ f9 o3 H+ ^3 n" W
  2. auth_username=邮箱登录名(如 info@xxxx.com) ( _0 n8 j6 e0 D+ J0 ^* S: {/ d
  3. auth_password=邮箱密码(如 xxxxxx) # q! _0 v- E1 F
  4. force_sender=发件人地址全写(如 info@xxxx.com)
复制代码
另外还有一项
* j5 y. t" Y# `, ^/ R: @4 m: J9 t6 s
  1. ; auto = use SSL for port 465, otherwise try to use TLS
复制代码
& C# B4 ^: z$ h6 \7 u& v$ q
把前面的";"删除,即开启SSL安全登录选项即可
- V* J3 R/ ?0 l& j" B2 J* t; ?) L% M. A8 L
以上四项正确填写修改完成后保存,然后重启IIS即可正常使用。
2 G/ k9 @& }: j" C) I  I$ F7 @: g: A9 _' T: V/ U' o2 m* p, A) {
如果不能发送邮件,检查下端口是不是被屏蔽了,杀毒软件是不是设置了禁止发送邮件等  
  F3 N3 V9 V# X5 a" ]5 i, q6 G% d6 ]4 Z+ K  `9 _% m2 a7 V  @& J
回复

使用道具 举报

 楼主| 发表于 2012-9-2 10:24:28 | 显示全部楼层
http://www.phpmarker.com/1.html ; F- f( U3 L- g
这个是另外一种方法,但是两种方法测试过,貌似都不管用
您需要登录后才可以回帖 登录 | 注册帐号

本版积分规则

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

虾皮社区,成立十年了!

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

Copyright © 2007-2019 xp6.org Powered by Discuz

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