搜索
查看: 18860|回复: 1

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

[复制链接]
发表于 2012-9-2 08:29:24 | 显示全部楼层 |阅读模式
  最近研究uchome,使用在线发邮件的功能,但是测试了"通过 PHP 函数的 sendmail 发送(推荐此方式)"怎么都没用,因为本人现在用的是iis+php环境,怎么调试都没有用,经过研究之后搞定,分享一下教大家在自己服务器上配置sendmail。很多php的网站例如Discuz的论坛和各种phpCMS的网站都用到。
. e9 v9 M; J5 J0 d3 b% P4 D首先你需要先到从http://glob.com.au/sendmail/下载sendmail.zip文件,点此可以直接下载噢,然后把它解压到如D:\php\sendmail\目录下。2 ]7 C8 ]5 V; X4 A4 ^. h
然后打开php.ini文件,找到下面这段代码' d0 F9 H1 C% F# p. A
  1. [mail function]
    7 c! a8 l3 q& @9 M9 p5 c) K9 X
  2. ; For Win32 only.
    3 }- p0 p1 c0 G3 L  w0 b
  3. SMTP = localhost
    ( Y) \4 R: b/ J9 j4 e# ]
  4. smtp_port = 25
    . z: e# y1 Z8 S
  5. ; For Win32 only.
    3 R2 A: K# k: m+ Y; M1 r- G/ \- r
  6. ;sendmail_from = me@example.com
    - O% `4 q+ t! }6 {
  7. ; For Unix only. You may supply arguments as well (default: "sendmail -t -i"). ; ~) J$ P1 y( R+ y: ]
  8. ; sendmail_path = ""
    4 u9 ]5 C! B+ j4 \1 o! |2 L$ D
  9. ; Force the addition of the specified parameters to be passed as extra parameters
    0 A+ i( a* M6 r* E. i; ^* x7 R
  10. ; to the sendmail binary. These parameters will always replace the value of
    # n: {8 q/ I9 j* j  }
  11. ; the 5th parameter to mail(), even in safe mode.
    8 ?- g# e* |) A4 }
  12. ;mail.force_extra_parameters =
复制代码
默认情况下是以本机做为邮件服务器,这里我们需要借用sendmail来发送邮件,用sendmail来配置如用qq、163的邮箱来发送(一般都是以这种方式)所以我们需要把所有的选项都注销,即把SMTP = localhost和smtp_port = 25前面加上";"然后把sendmai_path=""前面的";"删掉,改为sendmai_path="d:\php\sendmail\sendmail.exe -t",改完后的即是
' V6 ?+ ]" J& |5 k
  1. [mail function] * L& x8 G& R, V& I
  2. ; For Win32 only. # D4 k3 W6 S) ^5 O; J8 f
  3. ;SMTP = localhost ( _5 i0 B4 W; H" t. a' F& I
  4. ;smtp_port = 25 6 ?1 T! R( Z% |
  5. ; For Win32 only.
    0 i  D; K7 O# J: d  M
  6. ;sendmail_from = me@example.com ) ]; s; i& n# Z6 w9 b/ ^' @; f
  7. ; For Unix only. You may supply arguments as well (default: "sendmail -t -i"). 2 u$ K# a% y) y2 E
  8. sendmail_path = "d:\php\sendmail\sendmail.exe -t"
    ! o% [' c, ?4 g$ |3 o
  9. ; Force the addition of the specified parameters to be passed as extra parameters 2 ^# C9 U6 k( _1 J
  10. ; to the sendmail binary. These parameters will always replace the value of
    3 V& v( Z7 D9 Q( {4 d' |: d+ H0 y8 z
  11. ; the 5th parameter to mail(), even in safe mode. * z& q" Q% i& ^" {& C
  12. ;mail.force_extra_parameters =
复制代码
  i' B# q8 f. N
注意以上只需要开启sendmail_path即可,然后保存 0 I" `0 }; D* @- Z& Y7 Q
* e+ G8 N/ c# t+ Z
接着修改sendmail目录下的sendmail.ini文件,主要填的内容有以下几项
+ t  o' z" ~& ^: m1 a) [
  1. smtp_server=smtp服务器地址(如 smtp.ym.163.com) 6 X9 b9 ]1 a3 z7 a) S$ s
  2. auth_username=邮箱登录名(如 info@xxxx.com)
    9 F2 v# u' a6 @; I( B
  3. auth_password=邮箱密码(如 xxxxxx) % J3 f9 `7 u" A
  4. force_sender=发件人地址全写(如 info@xxxx.com)
复制代码
另外还有一项
: X$ T. D& y2 v' X6 E- K
  1. ; auto = use SSL for port 465, otherwise try to use TLS
复制代码
, L6 I  Q  W! t; ?. ]- @2 H' t
把前面的";"删除,即开启SSL安全登录选项即可
9 g  R4 b4 C* Y4 f5 n) I$ r' ?& r% _/ ], u5 ]
以上四项正确填写修改完成后保存,然后重启IIS即可正常使用。
" r2 ]6 z# V) ~9 f, v5 Z5 A
$ |* u5 O! J5 T. j9 G) X# t4 x1 k如果不能发送邮件,检查下端口是不是被屏蔽了,杀毒软件是不是设置了禁止发送邮件等  
2 N3 ^* x6 b  J- B& q& i
5 o2 f  L6 G+ C- n: g6 p
回复

使用道具 举报

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

本版积分规则

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

虾皮社区,成立十年了!

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

Copyright © 2007-2019 xp6.org Powered by Discuz

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