搜索
查看: 18540|回复: 1

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

[复制链接]
发表于 2012-9-2 08:29:24 | 显示全部楼层 |阅读模式
  最近研究uchome,使用在线发邮件的功能,但是测试了"通过 PHP 函数的 sendmail 发送(推荐此方式)"怎么都没用,因为本人现在用的是iis+php环境,怎么调试都没有用,经过研究之后搞定,分享一下教大家在自己服务器上配置sendmail。很多php的网站例如Discuz的论坛和各种phpCMS的网站都用到。
7 L6 w! t9 p: v" @2 {, N+ Q! p首先你需要先到从http://glob.com.au/sendmail/下载sendmail.zip文件,点此可以直接下载噢,然后把它解压到如D:\php\sendmail\目录下。
* D1 o0 W0 t$ s& T8 O然后打开php.ini文件,找到下面这段代码/ T* I! O2 }4 q- L9 G
  1. [mail function] 8 Z7 w5 \+ R, c0 Z: ?% }. N
  2. ; For Win32 only.
    * L$ Q, h- c2 u  ]& E
  3. SMTP = localhost 7 E' t2 M7 f; S. `: b/ l* S/ w
  4. smtp_port = 25 ! l; j2 ]5 r% u9 f/ u
  5. ; For Win32 only.
    ! Z4 U, G) s4 O
  6. ;sendmail_from = me@example.com # v* v; T. s! R1 N4 z! y+ R' M5 P" C
  7. ; For Unix only. You may supply arguments as well (default: "sendmail -t -i"). ! p# W, M( m0 P1 U9 C
  8. ; sendmail_path = ""
    9 _& H# M( ~1 R
  9. ; Force the addition of the specified parameters to be passed as extra parameters
    1 A' M5 S' m4 ]+ S: x' l  S
  10. ; to the sendmail binary. These parameters will always replace the value of ; M! A% M6 b/ D0 p! O
  11. ; the 5th parameter to mail(), even in safe mode. ; r- P7 Z, T; Z" j, z1 a& C6 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",改完后的即是 - r  d5 o; y5 q  t- X6 l% j' m- A; i
  1. [mail function]
    2 t" w! a8 e; p4 `5 B- z# ~
  2. ; For Win32 only. 6 P& \9 I7 I, N! s! _2 E
  3. ;SMTP = localhost % {6 e# w7 b! o/ O& S# b
  4. ;smtp_port = 25 6 q8 I& p  Q1 l. o
  5. ; For Win32 only. 3 S$ @$ u8 L, q, {% [
  6. ;sendmail_from = me@example.com / x4 r2 X! g* @
  7. ; For Unix only. You may supply arguments as well (default: "sendmail -t -i").
    , i; p9 M: {: Z( @
  8. sendmail_path = "d:\php\sendmail\sendmail.exe -t"
    $ s# z" e0 N5 D% ^+ E; _/ H
  9. ; Force the addition of the specified parameters to be passed as extra parameters
    + o; N. z0 i  [. e3 R6 u# v3 \
  10. ; to the sendmail binary. These parameters will always replace the value of # C1 l$ n) T6 j: t' A3 G7 s% h
  11. ; the 5th parameter to mail(), even in safe mode. 9 m' L+ k9 |! c! p, J
  12. ;mail.force_extra_parameters =
复制代码
7 s$ ~5 p$ c8 V9 q$ w4 |# D7 p
注意以上只需要开启sendmail_path即可,然后保存 * e* l5 k9 @% Y1 m' d7 i7 L

! n3 Y1 M. I8 m, `0 {# u接着修改sendmail目录下的sendmail.ini文件,主要填的内容有以下几项 $ \. H- @( w) I
  1. smtp_server=smtp服务器地址(如 smtp.ym.163.com) ! B) @4 O; p' D1 M2 |2 M8 w
  2. auth_username=邮箱登录名(如 info@xxxx.com) ! ~+ g5 E$ N1 l  x/ b! a9 o& F  p
  3. auth_password=邮箱密码(如 xxxxxx)   T; I* v. Y0 ^& X' v
  4. force_sender=发件人地址全写(如 info@xxxx.com)
复制代码
另外还有一项 5 X1 U+ g" u/ q
  1. ; auto = use SSL for port 465, otherwise try to use TLS
复制代码

: Q( V8 S4 w$ n% a* c! o( m把前面的";"删除,即开启SSL安全登录选项即可
1 O$ S2 m+ f# d! j1 B( W& F
8 V/ x, g1 ]1 D( X! q& X以上四项正确填写修改完成后保存,然后重启IIS即可正常使用。 4 R: ~/ D6 ~% J; g4 d

3 C, f( _6 c8 `' i1 m如果不能发送邮件,检查下端口是不是被屏蔽了,杀毒软件是不是设置了禁止发送邮件等  $ v' @# H% Q8 C$ M0 n1 t
' D4 p# y6 o, b$ Q( L( ^! k
回复

使用道具 举报

 楼主| 发表于 2012-9-2 10:24:28 | 显示全部楼层
http://www.phpmarker.com/1.html - j6 L) P  `/ I( [( g& J# Q* d5 s, E# A
这个是另外一种方法,但是两种方法测试过,貌似都不管用
您需要登录后才可以回帖 登录 | 注册帐号

本版积分规则

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

虾皮社区,成立十年了!

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

Copyright © 2007-2019 xp6.org Powered by Discuz

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