搜索
查看: 18848|回复: 1

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

[复制链接]
发表于 2012-9-2 08:29:24 | 显示全部楼层 |阅读模式
  最近研究uchome,使用在线发邮件的功能,但是测试了"通过 PHP 函数的 sendmail 发送(推荐此方式)"怎么都没用,因为本人现在用的是iis+php环境,怎么调试都没有用,经过研究之后搞定,分享一下教大家在自己服务器上配置sendmail。很多php的网站例如Discuz的论坛和各种phpCMS的网站都用到。
( L' N4 g+ L8 I! T0 ^" Q首先你需要先到从http://glob.com.au/sendmail/下载sendmail.zip文件,点此可以直接下载噢,然后把它解压到如D:\php\sendmail\目录下。
* z% M9 E  W( v1 h1 @然后打开php.ini文件,找到下面这段代码- `& o3 {8 _" j% {8 [& s8 d5 v8 I
  1. [mail function] # U% ~, ~! x2 z/ w# q: i% ^
  2. ; For Win32 only. / A& U: y1 a, I& W8 G$ O1 A
  3. SMTP = localhost 9 X1 L1 H. x) W, K- c. w# l
  4. smtp_port = 25
    6 j! n( m/ E  v5 [7 p8 D
  5. ; For Win32 only.
    5 B+ K3 x. j1 ~' R2 s
  6. ;sendmail_from = me@example.com . U0 Q( R- J  w% T/ m
  7. ; For Unix only. You may supply arguments as well (default: "sendmail -t -i").
    , C1 W$ ^5 ?: q3 N, V; v2 u: d
  8. ; sendmail_path = "" 2 F" C) G* {4 n) ?1 D# J( }5 Q
  9. ; Force the addition of the specified parameters to be passed as extra parameters ' g3 g6 \* ~* c; }/ H% n5 N! B
  10. ; to the sendmail binary. These parameters will always replace the value of 6 W! j7 \% _0 l' |2 _" g% M; h
  11. ; the 5th parameter to mail(), even in safe mode. ! j3 u( `- S( N" 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",改完后的即是
- Z3 d5 B$ ?* b1 R: Q3 a+ w/ F
  1. [mail function] 6 ~% b8 P- s# ?. v$ H
  2. ; For Win32 only. $ P& p# b' t6 Y; M" f
  3. ;SMTP = localhost 7 j, A( S8 W& d* T
  4. ;smtp_port = 25
    . F0 L' `& i, X, f
  5. ; For Win32 only.
    & G- O* e3 G4 f, y
  6. ;sendmail_from = me@example.com
    ( v' T' G' d8 I# @3 O0 m
  7. ; For Unix only. You may supply arguments as well (default: "sendmail -t -i"). ! O6 b- l5 O+ f7 i
  8. sendmail_path = "d:\php\sendmail\sendmail.exe -t"
    1 i2 s# J( d+ c. d# o. r
  9. ; Force the addition of the specified parameters to be passed as extra parameters
    ) `- Q" l0 F" d
  10. ; to the sendmail binary. These parameters will always replace the value of
    ; ~8 v# w* i$ n1 l" S+ g9 F
  11. ; the 5th parameter to mail(), even in safe mode. % _4 E; D# O1 ~: I1 l& x& c
  12. ;mail.force_extra_parameters =
复制代码
. S, ^0 Q" G0 S% T3 \7 |: V
注意以上只需要开启sendmail_path即可,然后保存 $ y4 x7 l3 a& K' V3 c

, L1 ]5 M0 ?' _1 z; G接着修改sendmail目录下的sendmail.ini文件,主要填的内容有以下几项
+ I$ Z$ j( I, ]1 R5 d3 Q
  1. smtp_server=smtp服务器地址(如 smtp.ym.163.com)
    ) e3 Z( @6 s$ i/ Y' ]" ~; w1 V
  2. auth_username=邮箱登录名(如 info@xxxx.com)
    + @' B0 V. x! H) g3 e
  3. auth_password=邮箱密码(如 xxxxxx)
      V& r6 t: R- g4 B$ M
  4. force_sender=发件人地址全写(如 info@xxxx.com)
复制代码
另外还有一项
* a) {- m& G: d1 F% `" A
  1. ; auto = use SSL for port 465, otherwise try to use TLS
复制代码
4 R! X0 J) B) E; }* v
把前面的";"删除,即开启SSL安全登录选项即可 9 D4 M* P* Z' T% s
  h" \' B9 Z4 g( Z2 n' i0 Z' J
以上四项正确填写修改完成后保存,然后重启IIS即可正常使用。 4 o" V/ k1 X) B& |' \1 \+ o
0 v+ i* W- A' d( v+ Z! R  M
如果不能发送邮件,检查下端口是不是被屏蔽了,杀毒软件是不是设置了禁止发送邮件等  
2 v5 A* l8 F* c7 M& P8 \. w2 y( e5 y
回复

使用道具 举报

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

本版积分规则

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

虾皮社区,成立十年了!

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

Copyright © 2007-2019 xp6.org Powered by Discuz

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