搜索
查看: 18526|回复: 1

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

[复制链接]
发表于 2012-9-2 08:29:24 | 显示全部楼层 |阅读模式
  最近研究uchome,使用在线发邮件的功能,但是测试了"通过 PHP 函数的 sendmail 发送(推荐此方式)"怎么都没用,因为本人现在用的是iis+php环境,怎么调试都没有用,经过研究之后搞定,分享一下教大家在自己服务器上配置sendmail。很多php的网站例如Discuz的论坛和各种phpCMS的网站都用到。* O: p: @. \! z+ e2 C! F3 T; S
首先你需要先到从http://glob.com.au/sendmail/下载sendmail.zip文件,点此可以直接下载噢,然后把它解压到如D:\php\sendmail\目录下。
' r" [& P$ d* k) ^& f& f然后打开php.ini文件,找到下面这段代码/ M1 w1 U; U" X+ V% E, ^
  1. [mail function]
    - p) ~2 e2 j: i$ |) ?
  2. ; For Win32 only.
    4 j& _' C* X6 p& z6 P$ ~* W
  3. SMTP = localhost / E8 s* Y8 `) M! v
  4. smtp_port = 25
    $ h. b# K- [' ]5 B9 ^( \; W3 K. q9 m
  5. ; For Win32 only. ) Y3 h- q0 M" M. H
  6. ;sendmail_from = me@example.com
    2 G" j7 n. e) L; {
  7. ; For Unix only. You may supply arguments as well (default: "sendmail -t -i").
    1 f4 X; N( C; [6 d, N2 _4 y
  8. ; sendmail_path = ""
    , n7 H5 K7 ]% f  u2 L/ K. h
  9. ; Force the addition of the specified parameters to be passed as extra parameters & `5 ~/ w( I. P' I0 i' E$ ]
  10. ; to the sendmail binary. These parameters will always replace the value of
    4 G8 M' x8 c8 P9 [. A6 `
  11. ; the 5th parameter to mail(), even in safe mode.
    / s$ W  T% {. G( t
  12. ;mail.force_extra_parameters =
复制代码
默认情况下是以本机做为邮件服务器,这里我们需要借用sendmail来发送邮件,用sendmail来配置如用qq、163的邮箱来发送(一般都是以这种方式)所以我们需要把所有的选项都注销,即把SMTP = localhost和smtp_port = 25前面加上";"然后把sendmai_path=""前面的";"删掉,改为sendmai_path="d:\php\sendmail\sendmail.exe -t",改完后的即是 2 b) F" G% x; Q- \
  1. [mail function] 6 i& J+ S& o7 i$ V2 ]/ c
  2. ; For Win32 only. 1 b9 O  L# y& W+ c2 R6 O
  3. ;SMTP = localhost . N+ a# |, F; m6 _& ]9 X
  4. ;smtp_port = 25 5 G+ f9 R3 j% v
  5. ; For Win32 only.
    6 \, l' l9 H- X6 X4 S3 r, O+ U; Y
  6. ;sendmail_from = me@example.com
    + [/ O( H3 ]  E, Q" o
  7. ; For Unix only. You may supply arguments as well (default: "sendmail -t -i"). 9 q: K( N/ Y; X8 G% }$ V' B
  8. sendmail_path = "d:\php\sendmail\sendmail.exe -t"
    ' W* x7 n% Q# j/ v! M
  9. ; Force the addition of the specified parameters to be passed as extra parameters
    + ^. d" B. ?7 l; y( b) e9 s: W
  10. ; to the sendmail binary. These parameters will always replace the value of
    ' q" c3 V- _- t% B5 ?, m. b$ P
  11. ; the 5th parameter to mail(), even in safe mode. & Y4 ~- K/ k! @5 c0 c8 z
  12. ;mail.force_extra_parameters =
复制代码

; h8 _. `7 ^! K( W' [% w2 I+ i- l注意以上只需要开启sendmail_path即可,然后保存 9 s/ K3 |: v% x3 Z4 c. `0 J

5 ]/ w9 L0 d. e) M  t接着修改sendmail目录下的sendmail.ini文件,主要填的内容有以下几项
; K4 ?7 @0 j- }8 Y4 }
  1. smtp_server=smtp服务器地址(如 smtp.ym.163.com)
    7 k. X- I1 O. y% \$ ~$ M
  2. auth_username=邮箱登录名(如 info@xxxx.com)
    8 b( r: t+ {* @* ]. i3 W
  3. auth_password=邮箱密码(如 xxxxxx) , ?* o3 j7 c4 }& F' k! x
  4. force_sender=发件人地址全写(如 info@xxxx.com)
复制代码
另外还有一项 ! i7 x& J& b  n* \) n8 [
  1. ; auto = use SSL for port 465, otherwise try to use TLS
复制代码

9 B5 s2 r9 q5 {* l把前面的";"删除,即开启SSL安全登录选项即可
( c, p3 b- f3 b4 @) B' [
  g$ a' c7 o7 O9 J. p以上四项正确填写修改完成后保存,然后重启IIS即可正常使用。 + U7 \2 i% p( |# r

  y( L+ _8 j! [. ^  [如果不能发送邮件,检查下端口是不是被屏蔽了,杀毒软件是不是设置了禁止发送邮件等  - @$ D( g1 E! X# d
  D% G$ m% E. s
回复

使用道具 举报

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

本版积分规则

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

虾皮社区,成立十年了!

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

Copyright © 2007-2019 xp6.org Powered by Discuz

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