搜索
查看: 18727|回复: 1

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

[复制链接]
发表于 2012-9-2 08:29:24 | 显示全部楼层 |阅读模式
  最近研究uchome,使用在线发邮件的功能,但是测试了"通过 PHP 函数的 sendmail 发送(推荐此方式)"怎么都没用,因为本人现在用的是iis+php环境,怎么调试都没有用,经过研究之后搞定,分享一下教大家在自己服务器上配置sendmail。很多php的网站例如Discuz的论坛和各种phpCMS的网站都用到。" O9 K- S) Y/ N7 ]5 C7 ?1 v
首先你需要先到从http://glob.com.au/sendmail/下载sendmail.zip文件,点此可以直接下载噢,然后把它解压到如D:\php\sendmail\目录下。4 L; f1 m% g5 w+ e1 e5 Y* t
然后打开php.ini文件,找到下面这段代码$ |- b' E' J1 B# D* @) Z
  1. [mail function]
    ; w/ _3 a8 q4 k! W, p
  2. ; For Win32 only.
    . J/ L! h/ j$ o8 i# t7 t# `
  3. SMTP = localhost ! A9 C2 a" i# G9 T' H: m
  4. smtp_port = 25
    - I5 Q/ Q; i  J# h4 j  {0 A
  5. ; For Win32 only.
    6 S0 t+ a' E4 e: A$ I
  6. ;sendmail_from = me@example.com " y; x* M' u* I6 P- _2 a1 ~4 q
  7. ; For Unix only. You may supply arguments as well (default: "sendmail -t -i").
    ; \. @) i! q: |  I, Z; a% \$ b
  8. ; sendmail_path = ""
    $ `- M% j4 |7 r' Q7 G
  9. ; Force the addition of the specified parameters to be passed as extra parameters - D/ g+ w0 O: C5 \4 V8 w: |
  10. ; to the sendmail binary. These parameters will always replace the value of
    ) M/ O" b/ X+ i5 A( a1 K* G
  11. ; the 5th parameter to mail(), even in safe mode. . w$ w5 c+ v. |4 u% A3 B
  12. ;mail.force_extra_parameters =
复制代码
默认情况下是以本机做为邮件服务器,这里我们需要借用sendmail来发送邮件,用sendmail来配置如用qq、163的邮箱来发送(一般都是以这种方式)所以我们需要把所有的选项都注销,即把SMTP = localhost和smtp_port = 25前面加上";"然后把sendmai_path=""前面的";"删掉,改为sendmai_path="d:\php\sendmail\sendmail.exe -t",改完后的即是
, a. H! c7 I# Y2 f* N6 ~+ u& X
  1. [mail function] - T: @0 i% m  R4 U+ }( D" t" w
  2. ; For Win32 only. 6 ?, d4 E% Y+ R
  3. ;SMTP = localhost
    , p) _4 Q  h, b- ^2 V
  4. ;smtp_port = 25 ( f) s' ]/ d4 S4 B! B& c
  5. ; For Win32 only. ! L: k% z4 _' ~1 O0 G9 ?2 F
  6. ;sendmail_from = me@example.com
    2 n2 I/ Y% _) v% z- c- f  M; G
  7. ; For Unix only. You may supply arguments as well (default: "sendmail -t -i"). : q% _0 c0 h  L5 o" Y% X; [
  8. sendmail_path = "d:\php\sendmail\sendmail.exe -t"
    " j) i1 X& x% f5 Z) s: |/ y* z
  9. ; Force the addition of the specified parameters to be passed as extra parameters # v) g3 q# a% {! H4 ^) V  V8 w$ h: M7 J
  10. ; to the sendmail binary. These parameters will always replace the value of
    # g" G" @! R# e$ N3 o, O
  11. ; the 5th parameter to mail(), even in safe mode. $ G* n+ _- j- f) T8 F9 o( _0 t
  12. ;mail.force_extra_parameters =
复制代码

0 E- y4 T2 a2 m9 C$ ?* {/ g注意以上只需要开启sendmail_path即可,然后保存 " ^* `- O5 f# f) s/ J4 b  Q
) Z, u$ ^% @- A& N8 Q; }* y
接着修改sendmail目录下的sendmail.ini文件,主要填的内容有以下几项
# i- M2 n6 h  G& a1 d! x
  1. smtp_server=smtp服务器地址(如 smtp.ym.163.com) . A4 V' q& e* V: K5 G
  2. auth_username=邮箱登录名(如 info@xxxx.com) ( S) d6 q$ W& @3 P$ ?7 W
  3. auth_password=邮箱密码(如 xxxxxx)
    / F" d# @7 g* f) z) ~. O5 Q8 E
  4. force_sender=发件人地址全写(如 info@xxxx.com)
复制代码
另外还有一项
" e& J+ u/ W5 I) H" r* \
  1. ; auto = use SSL for port 465, otherwise try to use TLS
复制代码
( R$ ~) D0 X* o2 T- b; _
把前面的";"删除,即开启SSL安全登录选项即可 ' l$ u- f6 ]$ Q* U7 z  [' Y9 e

% o+ ^9 _% {9 {- U: ^3 K5 U以上四项正确填写修改完成后保存,然后重启IIS即可正常使用。
7 P; f3 g3 S9 K6 D6 g. v( x0 e
, S  w4 Y" R* [' _% o如果不能发送邮件,检查下端口是不是被屏蔽了,杀毒软件是不是设置了禁止发送邮件等  
% X, ?# }6 z" k- p! j# W3 z% @* [/ i0 a  }- C
回复

使用道具 举报

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

本版积分规则

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

虾皮社区,成立十年了!

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

Copyright © 2007-2019 xp6.org Powered by Discuz

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