搜索
查看: 18219|回复: 1

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

[复制链接]
发表于 2012-9-2 08:29:24 | 显示全部楼层 |阅读模式
  最近研究uchome,使用在线发邮件的功能,但是测试了"通过 PHP 函数的 sendmail 发送(推荐此方式)"怎么都没用,因为本人现在用的是iis+php环境,怎么调试都没有用,经过研究之后搞定,分享一下教大家在自己服务器上配置sendmail。很多php的网站例如Discuz的论坛和各种phpCMS的网站都用到。
1 Q+ n- E. v7 A0 h* _首先你需要先到从http://glob.com.au/sendmail/下载sendmail.zip文件,点此可以直接下载噢,然后把它解压到如D:\php\sendmail\目录下。; v" n9 |8 D5 J2 A" C& O/ U# G
然后打开php.ini文件,找到下面这段代码
: ]. s/ |8 }0 |! J) Z- f
  1. [mail function]
    # i, E/ i! {' F$ Y# N5 Z
  2. ; For Win32 only. - S" t- j2 P$ l6 ]. M, F" i7 l
  3. SMTP = localhost
    ' l* w( }7 s% J2 ?) r
  4. smtp_port = 25 : F' `& c/ f" o- m+ a
  5. ; For Win32 only. 1 e% E+ @# h, k
  6. ;sendmail_from = me@example.com 0 J4 \$ P. i* h8 S1 D- W/ M% S" j
  7. ; For Unix only. You may supply arguments as well (default: "sendmail -t -i").   q9 n1 U/ ]" i
  8. ; sendmail_path = ""
    / u4 n3 L( t0 Y- r
  9. ; Force the addition of the specified parameters to be passed as extra parameters
    / j, `) r, ?6 a  s: |& ^: |% T
  10. ; to the sendmail binary. These parameters will always replace the value of
    + ?2 P4 X& s3 [8 F, u
  11. ; the 5th parameter to mail(), even in safe mode. $ W/ w! n. p: L1 n4 L4 f
  12. ;mail.force_extra_parameters =
复制代码
默认情况下是以本机做为邮件服务器,这里我们需要借用sendmail来发送邮件,用sendmail来配置如用qq、163的邮箱来发送(一般都是以这种方式)所以我们需要把所有的选项都注销,即把SMTP = localhost和smtp_port = 25前面加上";"然后把sendmai_path=""前面的";"删掉,改为sendmai_path="d:\php\sendmail\sendmail.exe -t",改完后的即是
5 E: r/ p2 L: k. {$ o
  1. [mail function]
    - w: p8 C  J$ J  S9 b
  2. ; For Win32 only.
    6 \9 Z8 G0 M; O+ U/ H8 }! b# d% l
  3. ;SMTP = localhost " d9 E, E$ c# Y  O- `
  4. ;smtp_port = 25 , H5 a6 c' C- M0 ^" T
  5. ; For Win32 only. ( R: `3 \3 U& r2 m
  6. ;sendmail_from = me@example.com 2 u8 C: k( v. \* k5 O, o
  7. ; For Unix only. You may supply arguments as well (default: "sendmail -t -i"). 5 ]( H, p) [( N. I% b1 ^! ^
  8. sendmail_path = "d:\php\sendmail\sendmail.exe -t" 4 z7 g. X4 @. k. o2 b
  9. ; Force the addition of the specified parameters to be passed as extra parameters
    # \  o1 \$ [# n: H+ y$ B
  10. ; to the sendmail binary. These parameters will always replace the value of
    ' W; K# g' C5 x% O, s
  11. ; the 5th parameter to mail(), even in safe mode.
    * _( z+ Q' ~$ g! f$ F$ }" q( w
  12. ;mail.force_extra_parameters =
复制代码

8 N8 K, n) U" x. w  S" N注意以上只需要开启sendmail_path即可,然后保存
  J, A2 i8 p, x+ |, t
' j6 `% e7 V& B* C" O接着修改sendmail目录下的sendmail.ini文件,主要填的内容有以下几项 # y  u+ u9 D( i, v
  1. smtp_server=smtp服务器地址(如 smtp.ym.163.com) " \4 n# s; z. M; x  _9 R0 W
  2. auth_username=邮箱登录名(如 info@xxxx.com) ( t' t. X1 }- X6 `* }$ Y
  3. auth_password=邮箱密码(如 xxxxxx) # w/ k5 w! ~. [
  4. force_sender=发件人地址全写(如 info@xxxx.com)
复制代码
另外还有一项 2 d2 M5 h3 \0 x% |
  1. ; auto = use SSL for port 465, otherwise try to use TLS
复制代码
7 S+ n: k% i5 i# Q9 Z' l2 T
把前面的";"删除,即开启SSL安全登录选项即可
: n1 G1 b& Y7 E3 J1 i2 Q- R1 h2 v" y% C7 v) h' w
以上四项正确填写修改完成后保存,然后重启IIS即可正常使用。 2 ?% `2 |" Q4 [  N0 d0 {' }! Q, u0 t
3 j" X' m  w; p' K
如果不能发送邮件,检查下端口是不是被屏蔽了,杀毒软件是不是设置了禁止发送邮件等  9 U# [: M. M$ H* }7 \9 q
' m: E2 Z& B& ?+ Y
回复

使用道具 举报

 楼主| 发表于 2012-9-2 10:24:28 | 显示全部楼层
http://www.phpmarker.com/1.html
: e' }0 G( l* t* r7 U! Y) h这个是另外一种方法,但是两种方法测试过,貌似都不管用
您需要登录后才可以回帖 登录 | 注册帐号

本版积分规则

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

虾皮社区,成立十年了!

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

Copyright © 2007-2019 xp6.org Powered by Discuz

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