搜索
查看: 18801|回复: 1

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

[复制链接]
发表于 2012-9-2 08:29:24 | 显示全部楼层 |阅读模式
  最近研究uchome,使用在线发邮件的功能,但是测试了"通过 PHP 函数的 sendmail 发送(推荐此方式)"怎么都没用,因为本人现在用的是iis+php环境,怎么调试都没有用,经过研究之后搞定,分享一下教大家在自己服务器上配置sendmail。很多php的网站例如Discuz的论坛和各种phpCMS的网站都用到。
6 l# S* g7 g7 E, `首先你需要先到从http://glob.com.au/sendmail/下载sendmail.zip文件,点此可以直接下载噢,然后把它解压到如D:\php\sendmail\目录下。
! a+ @/ R9 i9 S( Q$ g然后打开php.ini文件,找到下面这段代码* b; [4 e3 P2 t0 U* V
  1. [mail function] * T5 I. V& z5 p. J+ E
  2. ; For Win32 only. , K6 d( n. [; m/ G* q/ G
  3. SMTP = localhost
    . s" a, X, f, L3 E
  4. smtp_port = 25
    2 s( u& ^5 L# C( o: G/ S- K* F6 ~
  5. ; For Win32 only.
    3 E, G: y' f- G1 q2 W* `
  6. ;sendmail_from = me@example.com , C( _* g  E  `( J( e# Y, j
  7. ; For Unix only. You may supply arguments as well (default: "sendmail -t -i").
    / Z. r, e8 Q7 a8 A
  8. ; sendmail_path = ""
    ) R3 W: E( ^$ W0 ^8 {1 x8 f
  9. ; Force the addition of the specified parameters to be passed as extra parameters
    0 x; h' c% q. ?/ t0 A# z
  10. ; to the sendmail binary. These parameters will always replace the value of ( |3 r" H3 _4 J; `9 r2 ~; H
  11. ; the 5th parameter to mail(), even in safe mode. 6 I2 B( U3 Y5 E( u; 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",改完后的即是 ; r- T! X5 n; e0 ]
  1. [mail function]
    ! l+ l# E7 w8 D) B* P, Q8 }8 z4 ]
  2. ; For Win32 only.
    * E* E' y6 c# [! f6 L
  3. ;SMTP = localhost ! w2 B3 C( B1 H! _9 y& q, ^: c
  4. ;smtp_port = 25 ( G1 h3 w& g2 f5 `; ?" l0 e
  5. ; For Win32 only. + S( ]/ S" J( L
  6. ;sendmail_from = me@example.com
    0 d- e" ^0 J# s. t' F) v
  7. ; For Unix only. You may supply arguments as well (default: "sendmail -t -i").
    , |! o, B: f- V9 Q: @
  8. sendmail_path = "d:\php\sendmail\sendmail.exe -t"
    ' v* q3 n7 ^+ z
  9. ; Force the addition of the specified parameters to be passed as extra parameters " V/ v( J+ L$ z. |6 C) z" g
  10. ; to the sendmail binary. These parameters will always replace the value of 9 @7 e$ `' j& M- d0 i2 N
  11. ; the 5th parameter to mail(), even in safe mode.
    1 P6 J/ D0 A" q- Y, `
  12. ;mail.force_extra_parameters =
复制代码

7 }# C3 g( h# J$ h' i- i4 I注意以上只需要开启sendmail_path即可,然后保存 . t+ B7 \0 w8 F" d' {( p

. z8 d& J( E! H; [) V5 v8 v1 W接着修改sendmail目录下的sendmail.ini文件,主要填的内容有以下几项 6 l. C* g0 h7 C- p2 j' `2 C
  1. smtp_server=smtp服务器地址(如 smtp.ym.163.com)
    0 o& g/ @5 D" A# n
  2. auth_username=邮箱登录名(如 info@xxxx.com)
    , w/ g1 p# x3 H
  3. auth_password=邮箱密码(如 xxxxxx)
    + W# \- \/ m; @; r: }0 S- x# X9 c
  4. force_sender=发件人地址全写(如 info@xxxx.com)
复制代码
另外还有一项 9 S3 X4 u7 ^0 Y' a2 H9 X7 O7 B9 j3 Z  v
  1. ; auto = use SSL for port 465, otherwise try to use TLS
复制代码
  ?3 s& a( q) a
把前面的";"删除,即开启SSL安全登录选项即可
- q' @) C, t3 W5 w3 q6 Q( W8 H! \8 |. E5 A, L. O* Y3 V% D
以上四项正确填写修改完成后保存,然后重启IIS即可正常使用。 / q( c' u! B! x7 W2 t! C

4 G# P# A1 d$ L- B如果不能发送邮件,检查下端口是不是被屏蔽了,杀毒软件是不是设置了禁止发送邮件等  4 ]: Y  [  [8 L2 D% H( n% k+ q
$ M7 A7 U8 U1 {0 u
回复

使用道具 举报

 楼主| 发表于 2012-9-2 10:24:28 | 显示全部楼层
http://www.phpmarker.com/1.html
$ \/ X, _! E3 V  l: {  U/ R8 C这个是另外一种方法,但是两种方法测试过,貌似都不管用
您需要登录后才可以回帖 登录 | 注册帐号

本版积分规则

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

虾皮社区,成立十年了!

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

Copyright © 2007-2019 xp6.org Powered by Discuz

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