搜索
查看: 18446|回复: 1

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

[复制链接]
发表于 2012-9-2 08:29:24 | 显示全部楼层 |阅读模式
  最近研究uchome,使用在线发邮件的功能,但是测试了"通过 PHP 函数的 sendmail 发送(推荐此方式)"怎么都没用,因为本人现在用的是iis+php环境,怎么调试都没有用,经过研究之后搞定,分享一下教大家在自己服务器上配置sendmail。很多php的网站例如Discuz的论坛和各种phpCMS的网站都用到。0 D. Y, c) D( Y2 a9 A
首先你需要先到从http://glob.com.au/sendmail/下载sendmail.zip文件,点此可以直接下载噢,然后把它解压到如D:\php\sendmail\目录下。8 d! g5 Q( A; B$ H8 Z
然后打开php.ini文件,找到下面这段代码$ G/ s3 t  P" u- f0 a* r& X
  1. [mail function] ) f& h: p2 z7 o) i6 I
  2. ; For Win32 only. ' P8 R8 M5 ?) d+ P/ g
  3. SMTP = localhost
    ' ^  v' D7 Z" E
  4. smtp_port = 25
    ) |5 i- J# [2 J6 [
  5. ; For Win32 only. * E: S! k( a: I% n: [6 j  L
  6. ;sendmail_from = me@example.com
    9 R: {, }+ q$ f7 e% z
  7. ; For Unix only. You may supply arguments as well (default: "sendmail -t -i").
    ! Y/ u% A1 o" L' S! E7 t
  8. ; sendmail_path = ""   _% K, p5 k0 A8 Z- N
  9. ; Force the addition of the specified parameters to be passed as extra parameters 0 Y3 [& t1 k6 k+ k* m; h
  10. ; to the sendmail binary. These parameters will always replace the value of 8 `& l+ U7 a; Z6 D
  11. ; the 5th parameter to mail(), even in safe mode. $ |( s5 T" I5 H$ f6 \. e
  12. ;mail.force_extra_parameters =
复制代码
默认情况下是以本机做为邮件服务器,这里我们需要借用sendmail来发送邮件,用sendmail来配置如用qq、163的邮箱来发送(一般都是以这种方式)所以我们需要把所有的选项都注销,即把SMTP = localhost和smtp_port = 25前面加上";"然后把sendmai_path=""前面的";"删掉,改为sendmai_path="d:\php\sendmail\sendmail.exe -t",改完后的即是
& p, A( A( J0 o0 x1 [
  1. [mail function]
    2 B; {7 n8 S- k9 J* Z" k
  2. ; For Win32 only. # N3 ]8 ~: B5 `4 E6 t( \
  3. ;SMTP = localhost 0 n- p* j; {6 J; k  k* O
  4. ;smtp_port = 25 7 R0 Q+ e- H* \- j
  5. ; For Win32 only.
    ! V$ X5 }3 w! O0 U( ?# u( _
  6. ;sendmail_from = me@example.com ' x3 C  R2 ]5 c' {. {/ j4 [( h" x
  7. ; For Unix only. You may supply arguments as well (default: "sendmail -t -i"). ( f; o& w* L6 ^1 ?9 W9 O
  8. sendmail_path = "d:\php\sendmail\sendmail.exe -t"
    9 G9 U) }0 B/ ?/ z( j' q* H7 N& E- ^
  9. ; Force the addition of the specified parameters to be passed as extra parameters
    ) p6 q& F8 V3 m, a/ Q* O( O$ n
  10. ; to the sendmail binary. These parameters will always replace the value of ! l9 X& J- {& n' Y1 t
  11. ; the 5th parameter to mail(), even in safe mode.
    ) Z2 X8 {7 k: r: z' a
  12. ;mail.force_extra_parameters =
复制代码
7 Z0 Z+ c5 v0 p* a- f
注意以上只需要开启sendmail_path即可,然后保存
  c* x7 D: s  F9 L
1 k, x- E( E+ A& E4 L接着修改sendmail目录下的sendmail.ini文件,主要填的内容有以下几项
  H9 d3 b6 e! U7 Q
  1. smtp_server=smtp服务器地址(如 smtp.ym.163.com) * B; M" k- `- N4 r: V9 D
  2. auth_username=邮箱登录名(如 info@xxxx.com) * n  ~' `9 F  x
  3. auth_password=邮箱密码(如 xxxxxx)
    4 {. H1 M: c: i5 i2 ^) x
  4. force_sender=发件人地址全写(如 info@xxxx.com)
复制代码
另外还有一项
$ F4 W6 ~3 T7 Z. d5 H
  1. ; auto = use SSL for port 465, otherwise try to use TLS
复制代码
1 i. [* b( |3 `  g- R
把前面的";"删除,即开启SSL安全登录选项即可 , G9 Q6 M( c% [! _  d- k$ S4 M# N

( J* P6 }1 o; s7 k9 U1 L) Y, F以上四项正确填写修改完成后保存,然后重启IIS即可正常使用。 # m$ ~. l/ t2 R# y/ A1 M6 |" ?# _

5 @  U8 Q' g- X2 `如果不能发送邮件,检查下端口是不是被屏蔽了,杀毒软件是不是设置了禁止发送邮件等  5 U; c! k5 Z& N) h- I: `+ l
, B# p* i8 w1 T( U6 l/ h4 T
回复

使用道具 举报

 楼主| 发表于 2012-9-2 10:24:28 | 显示全部楼层
http://www.phpmarker.com/1.html
1 ~% a& q3 y& k$ D6 ~2 ?0 Q这个是另外一种方法,但是两种方法测试过,貌似都不管用
您需要登录后才可以回帖 登录 | 注册帐号

本版积分规则

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

虾皮社区,成立十年了!

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

Copyright © 2007-2019 xp6.org Powered by Discuz

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