搜索
查看: 18389|回复: 1

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

[复制链接]
发表于 2012-9-2 08:29:24 | 显示全部楼层 |阅读模式
  最近研究uchome,使用在线发邮件的功能,但是测试了"通过 PHP 函数的 sendmail 发送(推荐此方式)"怎么都没用,因为本人现在用的是iis+php环境,怎么调试都没有用,经过研究之后搞定,分享一下教大家在自己服务器上配置sendmail。很多php的网站例如Discuz的论坛和各种phpCMS的网站都用到。% F- Q7 _2 `  B. R* P
首先你需要先到从http://glob.com.au/sendmail/下载sendmail.zip文件,点此可以直接下载噢,然后把它解压到如D:\php\sendmail\目录下。' _7 \" T7 E  E% D2 U5 J
然后打开php.ini文件,找到下面这段代码
' w' W3 o1 p; J/ I8 `$ p3 C
  1. [mail function] $ d  k) w0 i( v* |( C- S
  2. ; For Win32 only.
    . I6 m: U8 i" U8 E
  3. SMTP = localhost
    # ~) g+ k5 D) c+ s; s9 ^/ g% B1 r# o
  4. smtp_port = 25
    ! q; W& c3 o- V$ v. X
  5. ; For Win32 only. + C7 x) Z( C# S
  6. ;sendmail_from = me@example.com
    * n3 H4 f0 C- b* U0 N, G, I
  7. ; For Unix only. You may supply arguments as well (default: "sendmail -t -i").
    ; e: z8 }+ r: D" H
  8. ; sendmail_path = ""
    & }0 S2 b& V% Q2 O) C+ d
  9. ; Force the addition of the specified parameters to be passed as extra parameters   G6 R: \1 |/ v) P! H1 v( x. {
  10. ; to the sendmail binary. These parameters will always replace the value of # V: w2 O. ~  v& l# B. ?7 R# J
  11. ; the 5th parameter to mail(), even in safe mode.
    - z* r! R5 N; P% j7 X; K9 r
  12. ;mail.force_extra_parameters =
复制代码
默认情况下是以本机做为邮件服务器,这里我们需要借用sendmail来发送邮件,用sendmail来配置如用qq、163的邮箱来发送(一般都是以这种方式)所以我们需要把所有的选项都注销,即把SMTP = localhost和smtp_port = 25前面加上";"然后把sendmai_path=""前面的";"删掉,改为sendmai_path="d:\php\sendmail\sendmail.exe -t",改完后的即是 ! U" \, V+ t" x7 e" e
  1. [mail function] ; i/ g) W  A+ g% y/ ]' F1 ?
  2. ; For Win32 only. ( a  `! g; r9 T/ k
  3. ;SMTP = localhost
    & Z3 r/ f2 v8 A# S# w
  4. ;smtp_port = 25 3 @, s" ?/ D8 w& S* M  i: N
  5. ; For Win32 only.
    4 R( x& |: y: K1 B& h
  6. ;sendmail_from = me@example.com
    6 ?  f; T7 T' ?: w- P! u0 A1 |. h
  7. ; For Unix only. You may supply arguments as well (default: "sendmail -t -i"). 4 }9 `* Z5 P# L' D! w7 h  g
  8. sendmail_path = "d:\php\sendmail\sendmail.exe -t"
    , Y5 M6 H/ x' B5 [$ R5 s
  9. ; Force the addition of the specified parameters to be passed as extra parameters
    . X* W% A- G% J
  10. ; to the sendmail binary. These parameters will always replace the value of
    ! A' N3 c( s$ m9 K% ]% F
  11. ; the 5th parameter to mail(), even in safe mode. 7 x) _. _' K  Z' j5 C( h# [* ?
  12. ;mail.force_extra_parameters =
复制代码

/ j" H: z4 P, M- P# g) d注意以上只需要开启sendmail_path即可,然后保存   K) h# E2 Y- D0 O4 n+ k5 p+ Q' I

( [3 B7 Q. q1 s+ |$ Z接着修改sendmail目录下的sendmail.ini文件,主要填的内容有以下几项
/ [/ v& Q) P6 J' F! `8 O" t
  1. smtp_server=smtp服务器地址(如 smtp.ym.163.com) 4 x, J* o  f8 m# [5 z- X* U
  2. auth_username=邮箱登录名(如 info@xxxx.com) 0 T3 H+ s5 u  W
  3. auth_password=邮箱密码(如 xxxxxx) $ b+ c& j$ P8 }0 Q6 J' u
  4. force_sender=发件人地址全写(如 info@xxxx.com)
复制代码
另外还有一项
' B1 u2 M2 R% K/ ~5 Z
  1. ; auto = use SSL for port 465, otherwise try to use TLS
复制代码

1 R" K; r: z, f2 _. i2 _% ~+ @, w6 s: N把前面的";"删除,即开启SSL安全登录选项即可 ' r3 x" N" |+ Z( L4 `7 J
/ \: [6 X0 r  ~/ G2 k% A
以上四项正确填写修改完成后保存,然后重启IIS即可正常使用。
7 I/ t% Q. b/ p0 `3 U5 x9 x2 n! v. j2 D1 V3 x, {
如果不能发送邮件,检查下端口是不是被屏蔽了,杀毒软件是不是设置了禁止发送邮件等  
# ?) A4 q7 z! F( P% f
2 E% W3 a1 s" a0 q" `8 [' {
回复

使用道具 举报

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

本版积分规则

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

虾皮社区,成立十年了!

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

Copyright © 2007-2019 xp6.org Powered by Discuz

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