搜索
查看: 18662|回复: 1

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

[复制链接]
发表于 2012-9-2 08:29:24 | 显示全部楼层 |阅读模式
  最近研究uchome,使用在线发邮件的功能,但是测试了"通过 PHP 函数的 sendmail 发送(推荐此方式)"怎么都没用,因为本人现在用的是iis+php环境,怎么调试都没有用,经过研究之后搞定,分享一下教大家在自己服务器上配置sendmail。很多php的网站例如Discuz的论坛和各种phpCMS的网站都用到。3 N4 a: O& g. @8 _  K+ l* J
首先你需要先到从http://glob.com.au/sendmail/下载sendmail.zip文件,点此可以直接下载噢,然后把它解压到如D:\php\sendmail\目录下。
# x0 b8 i/ H7 g+ W然后打开php.ini文件,找到下面这段代码
; j7 k$ v2 m. ?3 r/ E
  1. [mail function] + W: k# ]4 M$ L* V8 f
  2. ; For Win32 only. % ?( |, r8 U0 ^) ^0 F
  3. SMTP = localhost
    ( ?1 k4 V$ n$ B' y# z/ J. v
  4. smtp_port = 25
    7 w: Y- \( F, e( x( s& f' o9 `  |9 m
  5. ; For Win32 only. 9 w1 R+ W( D' M+ A& P
  6. ;sendmail_from = me@example.com
    ) o( r0 t9 C$ n
  7. ; For Unix only. You may supply arguments as well (default: "sendmail -t -i"). % c4 I. W5 q( x
  8. ; sendmail_path = ""
    % W: @% m/ o$ Z/ i
  9. ; Force the addition of the specified parameters to be passed as extra parameters
    8 l0 B" h* W  t3 L
  10. ; to the sendmail binary. These parameters will always replace the value of
    # s/ e; X' x  S
  11. ; the 5th parameter to mail(), even in safe mode.
    - w' j6 R' V4 t7 O: Z
  12. ;mail.force_extra_parameters =
复制代码
默认情况下是以本机做为邮件服务器,这里我们需要借用sendmail来发送邮件,用sendmail来配置如用qq、163的邮箱来发送(一般都是以这种方式)所以我们需要把所有的选项都注销,即把SMTP = localhost和smtp_port = 25前面加上";"然后把sendmai_path=""前面的";"删掉,改为sendmai_path="d:\php\sendmail\sendmail.exe -t",改完后的即是
& j" ^7 U+ ?/ B% o& c. q
  1. [mail function]
    4 x  w3 u# `& K+ S3 v
  2. ; For Win32 only. 0 ?- {! v! Y( s0 Y* u7 x- @
  3. ;SMTP = localhost * Y0 i5 g( T: o/ U; O1 B4 G4 l' c4 q
  4. ;smtp_port = 25
    - s7 T" @0 v6 [  v4 L5 B/ ]# {0 O
  5. ; For Win32 only.
    9 |9 R' x) w1 |: Q5 _5 ^" g- i
  6. ;sendmail_from = me@example.com
    / V5 p$ B5 @' c1 E( e0 Q8 X0 U! B+ V
  7. ; For Unix only. You may supply arguments as well (default: "sendmail -t -i").
    5 U; R/ V, R1 Y) u
  8. sendmail_path = "d:\php\sendmail\sendmail.exe -t"
    2 Q. N$ P+ I& C" @
  9. ; Force the addition of the specified parameters to be passed as extra parameters
    % |1 y4 [% Y0 `1 n+ ^- S2 _" R
  10. ; to the sendmail binary. These parameters will always replace the value of 7 h% o, b! N2 Z" N* Q; W
  11. ; the 5th parameter to mail(), even in safe mode.
    4 }( s2 P* u/ p4 F5 K6 j1 {
  12. ;mail.force_extra_parameters =
复制代码

0 |' Z6 ]  ^3 ?8 o5 ]' L注意以上只需要开启sendmail_path即可,然后保存 - T2 [# G! W  p8 L6 Q
- M. v5 d8 C" f6 R! M. u/ P
接着修改sendmail目录下的sendmail.ini文件,主要填的内容有以下几项
$ w# }4 q. u: V2 D
  1. smtp_server=smtp服务器地址(如 smtp.ym.163.com) - H& n: ^$ E' Z: x- N* I' B
  2. auth_username=邮箱登录名(如 info@xxxx.com) 8 o3 _4 L0 \# l9 y; i0 o% P
  3. auth_password=邮箱密码(如 xxxxxx) # P9 G4 A. K" s8 c  ^
  4. force_sender=发件人地址全写(如 info@xxxx.com)
复制代码
另外还有一项
! Q/ T$ J; Y. b# m! C; Y, d% M
  1. ; auto = use SSL for port 465, otherwise try to use TLS
复制代码

2 u  V( ^/ d# O; w. W: }2 ?0 k把前面的";"删除,即开启SSL安全登录选项即可
% n4 q1 `+ _6 T6 v& A$ V" x/ Q, b9 s/ B% w9 [
以上四项正确填写修改完成后保存,然后重启IIS即可正常使用。
. J4 d" v6 e: ]3 E: r
- O! k) Y: O" v8 T如果不能发送邮件,检查下端口是不是被屏蔽了,杀毒软件是不是设置了禁止发送邮件等  , d' [& o$ T* q% J& P

* |1 }* X; l( c. b5 w8 u% z
回复

使用道具 举报

 楼主| 发表于 2012-9-2 10:24:28 | 显示全部楼层
http://www.phpmarker.com/1.html
% K9 a& x6 m" w: E. }- p这个是另外一种方法,但是两种方法测试过,貌似都不管用
您需要登录后才可以回帖 登录 | 注册帐号

本版积分规则

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

虾皮社区,成立十年了!

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

Copyright © 2007-2019 xp6.org Powered by Discuz

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