搜索
查看: 18478|回复: 1

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

[复制链接]
发表于 2012-9-2 08:29:24 | 显示全部楼层 |阅读模式
  最近研究uchome,使用在线发邮件的功能,但是测试了"通过 PHP 函数的 sendmail 发送(推荐此方式)"怎么都没用,因为本人现在用的是iis+php环境,怎么调试都没有用,经过研究之后搞定,分享一下教大家在自己服务器上配置sendmail。很多php的网站例如Discuz的论坛和各种phpCMS的网站都用到。
0 k. M( i4 `/ I( i) H( j首先你需要先到从http://glob.com.au/sendmail/下载sendmail.zip文件,点此可以直接下载噢,然后把它解压到如D:\php\sendmail\目录下。
" F( r5 t8 u6 V然后打开php.ini文件,找到下面这段代码
& Z7 ]/ ~+ B& C# s+ o
  1. [mail function]
    1 W1 `2 h# j: Q* l3 j7 U0 w6 L& v
  2. ; For Win32 only. 6 y4 Z7 E4 B) h; j1 [* G
  3. SMTP = localhost
    + a8 a! _) Z; m) Y+ Z6 F; G+ b
  4. smtp_port = 25 4 }8 J! h' q% n# c: h1 E
  5. ; For Win32 only. & z" m2 v$ w- S, r* L) ~+ o1 R# H+ U
  6. ;sendmail_from = me@example.com
    % a3 a% r, E1 A# \; Q
  7. ; For Unix only. You may supply arguments as well (default: "sendmail -t -i").
    : h7 I" F3 G) ]
  8. ; sendmail_path = ""
    1 O: @$ E; v0 H# m- S5 D  M) P/ {
  9. ; Force the addition of the specified parameters to be passed as extra parameters
    4 Y5 n" J6 Q0 ~2 o' s
  10. ; to the sendmail binary. These parameters will always replace the value of ' }& M, a8 c) {0 |% S8 G7 ~
  11. ; the 5th parameter to mail(), even in safe mode.
    3 l7 l1 P% p' V* 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",改完后的即是 $ Q4 S. l; P  j6 v$ z
  1. [mail function]
    ' Y, i) ~: a! m
  2. ; For Win32 only. " ?3 \7 O1 X: `
  3. ;SMTP = localhost
    , |5 O2 p! [# _- N- A( [/ o
  4. ;smtp_port = 25
    * [7 v' n- Q! S" v7 R& t0 y5 O6 ?
  5. ; For Win32 only. * c. w6 |0 s/ u" Z) }
  6. ;sendmail_from = me@example.com
    ( C' Y7 @( s: z
  7. ; For Unix only. You may supply arguments as well (default: "sendmail -t -i").
    ( j; c5 W- i) U+ c5 o; x
  8. sendmail_path = "d:\php\sendmail\sendmail.exe -t" % Q3 v6 D5 M, \/ P# l+ X% W. U
  9. ; Force the addition of the specified parameters to be passed as extra parameters
    3 |& L, g; s2 }& p) F3 s% [
  10. ; to the sendmail binary. These parameters will always replace the value of * a* A% K1 B1 N% c: Q0 B8 T# V' i
  11. ; the 5th parameter to mail(), even in safe mode.
    3 V' ~! H! N9 ^; k+ y2 }$ `& A
  12. ;mail.force_extra_parameters =
复制代码

9 K2 y! M3 ^' F5 t0 e. P' Z注意以上只需要开启sendmail_path即可,然后保存
( a1 g! @1 a2 K2 ^7 c' Q8 ^& q4 `1 `: J0 @( }6 P* ?4 D
接着修改sendmail目录下的sendmail.ini文件,主要填的内容有以下几项
7 V8 Y* j4 s# p) {8 M  t
  1. smtp_server=smtp服务器地址(如 smtp.ym.163.com) 9 ^: L: b, v; S' o- d
  2. auth_username=邮箱登录名(如 info@xxxx.com) ) D; U' R4 }$ z7 t7 k; m6 U( F% C
  3. auth_password=邮箱密码(如 xxxxxx)
    + i; c6 E* {) H
  4. force_sender=发件人地址全写(如 info@xxxx.com)
复制代码
另外还有一项
0 c) @: f+ b$ _3 }5 M. f
  1. ; auto = use SSL for port 465, otherwise try to use TLS
复制代码
0 T( F) T: Q( \* p1 T
把前面的";"删除,即开启SSL安全登录选项即可 ( ?5 |( x/ l, g* q3 d* V, U$ e
. f4 v6 a0 N1 ~! `, Z& b. N# R
以上四项正确填写修改完成后保存,然后重启IIS即可正常使用。 ' v# [5 b) B( m  o) ^$ |
( T2 K: M' Z' Z% D9 j' o, v" A& `
如果不能发送邮件,检查下端口是不是被屏蔽了,杀毒软件是不是设置了禁止发送邮件等  8 |2 b) {: K) [$ a$ p! H
7 K. ?7 u# ]1 X  T+ e& V, v
回复

使用道具 举报

 楼主| 发表于 2012-9-2 10:24:28 | 显示全部楼层
http://www.phpmarker.com/1.html / [' w, t6 m$ t8 _9 l6 B$ k
这个是另外一种方法,但是两种方法测试过,貌似都不管用
您需要登录后才可以回帖 登录 | 注册帐号

本版积分规则

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

虾皮社区,成立十年了!

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

Copyright © 2007-2019 xp6.org Powered by Discuz

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