搜索
查看: 18516|回复: 1

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

[复制链接]
发表于 2012-9-2 08:29:24 | 显示全部楼层 |阅读模式
  最近研究uchome,使用在线发邮件的功能,但是测试了"通过 PHP 函数的 sendmail 发送(推荐此方式)"怎么都没用,因为本人现在用的是iis+php环境,怎么调试都没有用,经过研究之后搞定,分享一下教大家在自己服务器上配置sendmail。很多php的网站例如Discuz的论坛和各种phpCMS的网站都用到。
# [9 M4 J- u  b' t首先你需要先到从http://glob.com.au/sendmail/下载sendmail.zip文件,点此可以直接下载噢,然后把它解压到如D:\php\sendmail\目录下。' _: W1 g8 y' ~
然后打开php.ini文件,找到下面这段代码
  [" R; W+ M, @4 D, u
  1. [mail function] : m7 N& S4 ]/ R" b5 I) E
  2. ; For Win32 only. 3 m& X4 Z+ i9 k+ E
  3. SMTP = localhost
    ! m$ d( j( n6 \9 t: W, s
  4. smtp_port = 25
    8 q8 L* t* I) s7 c" B
  5. ; For Win32 only. % C* ]7 k, f* E8 F4 @
  6. ;sendmail_from = me@example.com
    4 O& c+ u) {$ Y
  7. ; For Unix only. You may supply arguments as well (default: "sendmail -t -i").
    ' x. d8 q. v4 z. ]
  8. ; sendmail_path = "" : _9 K7 P; e- X2 C3 R" d  s
  9. ; Force the addition of the specified parameters to be passed as extra parameters * p* \4 y: T) Z$ r3 B
  10. ; to the sendmail binary. These parameters will always replace the value of   y8 h5 _+ H5 }) v
  11. ; the 5th parameter to mail(), even in safe mode. ' f  Y) p* k7 l# 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",改完后的即是
9 V- r  E! z1 Y# i8 W. ~0 w) o
  1. [mail function]
    ' i% {& ~6 {4 L3 ^! M- R4 T% H
  2. ; For Win32 only.
    6 B9 x2 z  P$ S* }7 o6 C9 I
  3. ;SMTP = localhost * l# ^- p5 x7 w' T8 Q  o
  4. ;smtp_port = 25 5 g0 G: u0 `3 T8 Y, Q9 p: }
  5. ; For Win32 only.
    ( y4 @% F% G& }; ]; l$ K4 P% h
  6. ;sendmail_from = me@example.com
    2 u% ^  ?' t* u5 `2 @
  7. ; For Unix only. You may supply arguments as well (default: "sendmail -t -i").
    - c% S$ H2 o" J2 P! \- ]- R& U2 E' E
  8. sendmail_path = "d:\php\sendmail\sendmail.exe -t"
    8 A8 j  M; ?5 r' N" l  j
  9. ; Force the addition of the specified parameters to be passed as extra parameters
    " t5 @/ P% _7 }7 h( i; R8 c+ P
  10. ; to the sendmail binary. These parameters will always replace the value of ; t) R* B0 ~6 c9 `) l- e
  11. ; the 5th parameter to mail(), even in safe mode.
    0 c0 o! Y' W2 Z
  12. ;mail.force_extra_parameters =
复制代码
& b/ c& ^5 T) A/ t3 ~" m' A
注意以上只需要开启sendmail_path即可,然后保存 . _1 E1 U6 Y9 ~8 V

, w: K) m, X0 N3 ]( M' ?6 G接着修改sendmail目录下的sendmail.ini文件,主要填的内容有以下几项 8 f* B6 c% C1 x( j) }
  1. smtp_server=smtp服务器地址(如 smtp.ym.163.com) % e: H5 t* D$ M
  2. auth_username=邮箱登录名(如 info@xxxx.com) % S6 j1 h. _# n9 l7 T- Q
  3. auth_password=邮箱密码(如 xxxxxx) + l) Q; |; x  k2 w; q+ M
  4. force_sender=发件人地址全写(如 info@xxxx.com)
复制代码
另外还有一项
# Z- N( l2 ]6 p; v
  1. ; auto = use SSL for port 465, otherwise try to use TLS
复制代码

/ {5 m( N4 Y+ r# A+ k4 T把前面的";"删除,即开启SSL安全登录选项即可 - {8 C+ o' Y+ O$ E! x2 I
1 ^3 s: q& ^9 w. S1 f
以上四项正确填写修改完成后保存,然后重启IIS即可正常使用。 ' c" r% Q" o; _- H; v

- w& H6 w: Q6 _如果不能发送邮件,检查下端口是不是被屏蔽了,杀毒软件是不是设置了禁止发送邮件等  
: D0 Z' N1 S) Q1 J2 A+ ~
8 G; l0 S4 t! k$ M" {
回复

使用道具 举报

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

本版积分规则

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

虾皮社区,成立十年了!

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

Copyright © 2007-2019 xp6.org Powered by Discuz

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