搜索
查看: 18579|回复: 1

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

[复制链接]
发表于 2012-9-2 08:29:24 | 显示全部楼层 |阅读模式
  最近研究uchome,使用在线发邮件的功能,但是测试了"通过 PHP 函数的 sendmail 发送(推荐此方式)"怎么都没用,因为本人现在用的是iis+php环境,怎么调试都没有用,经过研究之后搞定,分享一下教大家在自己服务器上配置sendmail。很多php的网站例如Discuz的论坛和各种phpCMS的网站都用到。
5 ~$ A2 v8 V2 |6 d首先你需要先到从http://glob.com.au/sendmail/下载sendmail.zip文件,点此可以直接下载噢,然后把它解压到如D:\php\sendmail\目录下。
) ~6 ^. V) }3 @5 r) Q0 w然后打开php.ini文件,找到下面这段代码3 [, u% V8 R3 e) d
  1. [mail function]
    4 I3 _2 t6 x  _3 e( c
  2. ; For Win32 only.
    1 Q! v, T: I1 |) ^  F! W; M1 p. x5 K, ]
  3. SMTP = localhost 4 |8 M: \/ D7 Q: \, D- K4 `
  4. smtp_port = 25 ( f  q3 W; x9 A  b6 |0 f* k
  5. ; For Win32 only.
    " o4 f* Z3 e  T  I% i0 U& G
  6. ;sendmail_from = me@example.com . I/ @1 d4 Y% w  `
  7. ; For Unix only. You may supply arguments as well (default: "sendmail -t -i").
    1 L4 i" I  v) f2 f- _' x7 q
  8. ; sendmail_path = "" 4 J3 `9 L- O; l6 e  }5 H& s
  9. ; Force the addition of the specified parameters to be passed as extra parameters
    # a% `1 z% ~$ e
  10. ; to the sendmail binary. These parameters will always replace the value of
    ! u$ G0 t5 w. c$ Y( g
  11. ; the 5th parameter to mail(), even in safe mode.
    + g/ M0 g# \, b( d
  12. ;mail.force_extra_parameters =
复制代码
默认情况下是以本机做为邮件服务器,这里我们需要借用sendmail来发送邮件,用sendmail来配置如用qq、163的邮箱来发送(一般都是以这种方式)所以我们需要把所有的选项都注销,即把SMTP = localhost和smtp_port = 25前面加上";"然后把sendmai_path=""前面的";"删掉,改为sendmai_path="d:\php\sendmail\sendmail.exe -t",改完后的即是
1 e$ K: P6 q& t5 d5 s
  1. [mail function] ) \$ c5 h) r- q3 M
  2. ; For Win32 only.
    3 _: {8 w& |) @/ [( Z7 i
  3. ;SMTP = localhost
    , a' c1 N/ n! A* a
  4. ;smtp_port = 25 1 h& x7 y  n' G6 y! `
  5. ; For Win32 only. : ?& W+ o* O+ h* Y7 T. h
  6. ;sendmail_from = me@example.com
    " \. t8 u) @* A
  7. ; For Unix only. You may supply arguments as well (default: "sendmail -t -i"). " j) O' r- C9 n( I8 X* s8 D
  8. sendmail_path = "d:\php\sendmail\sendmail.exe -t"
    2 i# C  }3 ?- G% ?* u
  9. ; Force the addition of the specified parameters to be passed as extra parameters
    ' L0 G- H, ^- z+ H3 O' ?3 s% |$ P
  10. ; to the sendmail binary. These parameters will always replace the value of
    ' s- \2 R) E- t8 a5 b9 R
  11. ; the 5th parameter to mail(), even in safe mode. + x6 R. Q8 y3 L4 d- l1 E
  12. ;mail.force_extra_parameters =
复制代码

# x5 \0 U, t& X6 Z1 r* |注意以上只需要开启sendmail_path即可,然后保存
( T: q/ T5 J0 |! l! ~5 E
+ ?5 O6 c, v+ d接着修改sendmail目录下的sendmail.ini文件,主要填的内容有以下几项
; G: c2 K- i) Q5 Y
  1. smtp_server=smtp服务器地址(如 smtp.ym.163.com) ) `4 P+ f* T1 T# g# s/ p
  2. auth_username=邮箱登录名(如 info@xxxx.com)
    7 g. o2 p9 g& m: {( r* G, y
  3. auth_password=邮箱密码(如 xxxxxx) 4 x- E4 q/ L7 {; @
  4. force_sender=发件人地址全写(如 info@xxxx.com)
复制代码
另外还有一项
8 }. b! b: G2 z# H
  1. ; auto = use SSL for port 465, otherwise try to use TLS
复制代码

3 B8 C* P% U) d" e( p把前面的";"删除,即开启SSL安全登录选项即可
. _! Y4 V; h2 x' n9 {
5 z5 ^  y+ g4 ~  g  v$ D5 i以上四项正确填写修改完成后保存,然后重启IIS即可正常使用。
/ L5 z1 E, X  _/ r
. K4 G/ q; g# V: U9 X2 h# A1 L1 i如果不能发送邮件,检查下端口是不是被屏蔽了,杀毒软件是不是设置了禁止发送邮件等  
9 @# g: u& O/ B; W* T) c6 n8 w/ Z+ M) E7 p5 C
回复

使用道具 举报

 楼主| 发表于 2012-9-2 10:24:28 | 显示全部楼层
http://www.phpmarker.com/1.html ! V7 V% X4 S4 S0 F& ?/ W& U# y
这个是另外一种方法,但是两种方法测试过,貌似都不管用
您需要登录后才可以回帖 登录 | 注册帐号

本版积分规则

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

虾皮社区,成立十年了!

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

Copyright © 2007-2019 xp6.org Powered by Discuz

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