搜索
查看: 18759|回复: 1

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

[复制链接]
发表于 2012-9-2 08:29:24 | 显示全部楼层 |阅读模式
  最近研究uchome,使用在线发邮件的功能,但是测试了"通过 PHP 函数的 sendmail 发送(推荐此方式)"怎么都没用,因为本人现在用的是iis+php环境,怎么调试都没有用,经过研究之后搞定,分享一下教大家在自己服务器上配置sendmail。很多php的网站例如Discuz的论坛和各种phpCMS的网站都用到。+ s- c: `/ m: E, C, V5 n& |
首先你需要先到从http://glob.com.au/sendmail/下载sendmail.zip文件,点此可以直接下载噢,然后把它解压到如D:\php\sendmail\目录下。
. n3 C$ y0 V, L' |" r然后打开php.ini文件,找到下面这段代码
  I6 G5 g$ y3 g
  1. [mail function]
    $ n, H  q8 i+ S* n, {8 K4 j& C# d# E
  2. ; For Win32 only. $ O+ {' }( a* r& b* r. X/ d
  3. SMTP = localhost * p0 P3 {  l0 u: P" H$ L
  4. smtp_port = 25   P9 G( h: Z! i$ u; N- G) P/ y
  5. ; For Win32 only. & G( ?1 W( B: A% o5 N
  6. ;sendmail_from = me@example.com
      F5 I8 \* u% s
  7. ; For Unix only. You may supply arguments as well (default: "sendmail -t -i"). 9 E3 _: }& L, j! a
  8. ; sendmail_path = ""
    ) b  a3 @6 o  R+ \2 B" X, I; {& T5 t' V
  9. ; Force the addition of the specified parameters to be passed as extra parameters
    9 B! h! F9 z; s2 _! g
  10. ; to the sendmail binary. These parameters will always replace the value of ' q9 I) X5 i6 C; l
  11. ; the 5th parameter to mail(), even in safe mode. * t( s  {7 x! }. T+ R: e! p# ~
  12. ;mail.force_extra_parameters =
复制代码
默认情况下是以本机做为邮件服务器,这里我们需要借用sendmail来发送邮件,用sendmail来配置如用qq、163的邮箱来发送(一般都是以这种方式)所以我们需要把所有的选项都注销,即把SMTP = localhost和smtp_port = 25前面加上";"然后把sendmai_path=""前面的";"删掉,改为sendmai_path="d:\php\sendmail\sendmail.exe -t",改完后的即是 * g- a7 k+ }& B& D: ~
  1. [mail function]
    / b/ c% W: |9 k9 P  h) L5 p! t6 o
  2. ; For Win32 only. - }! }7 B3 W$ O' A
  3. ;SMTP = localhost
    % ^* d# E: Q$ R* L
  4. ;smtp_port = 25
    3 `3 O! ~( t- J- w, s
  5. ; For Win32 only.
    . z) }+ L0 e, j4 L  M
  6. ;sendmail_from = me@example.com
    + X+ N/ o( n7 ]4 q# Q6 g
  7. ; For Unix only. You may supply arguments as well (default: "sendmail -t -i"). # I$ U" G6 M' b3 P5 L3 H
  8. sendmail_path = "d:\php\sendmail\sendmail.exe -t" 9 C, Y; G, L! r
  9. ; Force the addition of the specified parameters to be passed as extra parameters
    1 K3 X+ E3 d0 ?( u+ G, W
  10. ; to the sendmail binary. These parameters will always replace the value of ) N7 ?8 t+ M9 ]
  11. ; the 5th parameter to mail(), even in safe mode. 9 @+ a  @! c( C8 A# G' S
  12. ;mail.force_extra_parameters =
复制代码
4 N5 ^  `/ Y" V6 m& K: E
注意以上只需要开启sendmail_path即可,然后保存 & l% i4 F& K( a" x8 l9 f: n
  m; I5 l. l! ^( |7 G# B
接着修改sendmail目录下的sendmail.ini文件,主要填的内容有以下几项
+ S4 ^( D! W. D6 d
  1. smtp_server=smtp服务器地址(如 smtp.ym.163.com)
    / S! C6 O& {/ E
  2. auth_username=邮箱登录名(如 info@xxxx.com)
    ) p& A8 \6 h" z2 p. K* Y
  3. auth_password=邮箱密码(如 xxxxxx) 5 ~7 K2 R* M, v2 g! p, z. k4 I
  4. force_sender=发件人地址全写(如 info@xxxx.com)
复制代码
另外还有一项
& K2 l# V& I0 l; V9 Z
  1. ; auto = use SSL for port 465, otherwise try to use TLS
复制代码
, v* K" Z/ x- h: c4 @( D# T: ]( g, h
把前面的";"删除,即开启SSL安全登录选项即可
0 {7 K. q" F# Z/ d3 m  T4 M
! W; ~& U2 x+ W以上四项正确填写修改完成后保存,然后重启IIS即可正常使用。
/ r. ]% g3 F& [7 T, F: v2 Z( Y4 ]0 a4 C0 S
如果不能发送邮件,检查下端口是不是被屏蔽了,杀毒软件是不是设置了禁止发送邮件等  ! Y* ]9 r* J, Y$ I& D, e

" o: x* |- U" l# A0 R% W# N
回复

使用道具 举报

 楼主| 发表于 2012-9-2 10:24:28 | 显示全部楼层
http://www.phpmarker.com/1.html : v3 ?, ]4 ?+ L& Q! D9 J3 a. |6 A
这个是另外一种方法,但是两种方法测试过,貌似都不管用
您需要登录后才可以回帖 登录 | 注册帐号

本版积分规则

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

虾皮社区,成立十年了!

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

Copyright © 2007-2019 xp6.org Powered by Discuz

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