搜索
查看: 18106|回复: 1

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

[复制链接]
发表于 2012-9-2 08:29:24 | 显示全部楼层 |阅读模式
  最近研究uchome,使用在线发邮件的功能,但是测试了"通过 PHP 函数的 sendmail 发送(推荐此方式)"怎么都没用,因为本人现在用的是iis+php环境,怎么调试都没有用,经过研究之后搞定,分享一下教大家在自己服务器上配置sendmail。很多php的网站例如Discuz的论坛和各种phpCMS的网站都用到。
+ w, L/ X3 u2 l( B首先你需要先到从http://glob.com.au/sendmail/下载sendmail.zip文件,点此可以直接下载噢,然后把它解压到如D:\php\sendmail\目录下。/ U& x* M; A- M3 o/ Y
然后打开php.ini文件,找到下面这段代码) U/ Q0 }- i% o) c/ o
  1. [mail function] * ^" W' m" X: ?7 e6 r. Q
  2. ; For Win32 only. 2 Z2 m9 w1 R" ~2 B
  3. SMTP = localhost
    1 s8 y6 b! j' w( N& R
  4. smtp_port = 25 - d; p& \8 W) j8 t6 R1 X
  5. ; For Win32 only.
    " [1 p9 q8 h; o5 l
  6. ;sendmail_from = me@example.com
    + d% k) `- W) K% S. x! t
  7. ; For Unix only. You may supply arguments as well (default: "sendmail -t -i"). : P$ @4 c! ?! m: v
  8. ; sendmail_path = "" 8 }" D' i& o; t6 b4 p
  9. ; Force the addition of the specified parameters to be passed as extra parameters
    0 d6 c! z7 A- r8 L
  10. ; to the sendmail binary. These parameters will always replace the value of
    . X3 X$ M* h) H$ K+ ]- |6 {6 `; T
  11. ; the 5th parameter to mail(), even in safe mode. 8 N. k0 d4 W/ f7 W& ?: T& F& o$ J  L
  12. ;mail.force_extra_parameters =
复制代码
默认情况下是以本机做为邮件服务器,这里我们需要借用sendmail来发送邮件,用sendmail来配置如用qq、163的邮箱来发送(一般都是以这种方式)所以我们需要把所有的选项都注销,即把SMTP = localhost和smtp_port = 25前面加上";"然后把sendmai_path=""前面的";"删掉,改为sendmai_path="d:\php\sendmail\sendmail.exe -t",改完后的即是 8 s- z. Z! L) O( r0 n
  1. [mail function]
    - U# {8 n7 J6 @  f# [
  2. ; For Win32 only.
    6 ]- @7 _2 V6 k2 h) I! }
  3. ;SMTP = localhost
    & J7 B( O0 y/ U' ^, Z
  4. ;smtp_port = 25
    ! j1 k$ V3 I. I1 T7 ^  Z
  5. ; For Win32 only. 2 l* O% q" s) j+ [% q+ Q: e" B% m
  6. ;sendmail_from = me@example.com   ]6 l1 u- d) E/ e) `
  7. ; For Unix only. You may supply arguments as well (default: "sendmail -t -i").
    : w9 x  z7 {* v" g: \! A$ H
  8. sendmail_path = "d:\php\sendmail\sendmail.exe -t" ; F: B) n. r- k% n% A
  9. ; Force the addition of the specified parameters to be passed as extra parameters
    5 r. L* H3 p; [" e0 p
  10. ; to the sendmail binary. These parameters will always replace the value of
    5 g" A- ]$ S  f- D1 k$ k( k
  11. ; the 5th parameter to mail(), even in safe mode.
    " L! j! U& Q# |' s3 u
  12. ;mail.force_extra_parameters =
复制代码
' S. J6 a% l9 w0 V# S
注意以上只需要开启sendmail_path即可,然后保存 % ]/ n, ^6 U& W* k& Z4 F1 h

! c5 O2 `# j- A0 }; ?5 d8 o接着修改sendmail目录下的sendmail.ini文件,主要填的内容有以下几项
: P$ _: r2 i& @' K
  1. smtp_server=smtp服务器地址(如 smtp.ym.163.com)
    7 `. ?& R- _. t* f& t/ N
  2. auth_username=邮箱登录名(如 info@xxxx.com)
    9 T2 u( |7 e6 w  q
  3. auth_password=邮箱密码(如 xxxxxx) 0 K/ H4 w" U9 s" t4 H' @3 f
  4. force_sender=发件人地址全写(如 info@xxxx.com)
复制代码
另外还有一项
% }. R7 ^! g9 p( f2 ^$ ?
  1. ; auto = use SSL for port 465, otherwise try to use TLS
复制代码
( P( m  V, Z4 Z8 e4 d, e) w
把前面的";"删除,即开启SSL安全登录选项即可
6 v6 g! \- P/ o7 T& R3 ~* I
5 ]& P# A& w+ f9 y; r& K以上四项正确填写修改完成后保存,然后重启IIS即可正常使用。
! z/ O% G  x0 R' N" Y; I# X" u# V' c, T  A; W9 A" o/ L
如果不能发送邮件,检查下端口是不是被屏蔽了,杀毒软件是不是设置了禁止发送邮件等  
3 u% H, e" e+ n; |9 F& a7 h5 q  e7 X- A. q$ V; Q7 L: O8 z
回复

使用道具 举报

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

本版积分规则

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

虾皮社区,成立十年了!

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

Copyright © 2007-2019 xp6.org Powered by Discuz

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