搜索
查看: 18538|回复: 1

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

[复制链接]
发表于 2012-9-2 08:29:24 | 显示全部楼层 |阅读模式
  最近研究uchome,使用在线发邮件的功能,但是测试了"通过 PHP 函数的 sendmail 发送(推荐此方式)"怎么都没用,因为本人现在用的是iis+php环境,怎么调试都没有用,经过研究之后搞定,分享一下教大家在自己服务器上配置sendmail。很多php的网站例如Discuz的论坛和各种phpCMS的网站都用到。
4 Q4 R1 {7 Y/ ~" \* T首先你需要先到从http://glob.com.au/sendmail/下载sendmail.zip文件,点此可以直接下载噢,然后把它解压到如D:\php\sendmail\目录下。
, ^3 `* R' C  O6 f  z1 q! C然后打开php.ini文件,找到下面这段代码* g8 M2 i) ?( b7 Q& @
  1. [mail function]
    ( J+ w  S/ t; ]; `
  2. ; For Win32 only.
    5 d* P& w& [; `/ Z" J' {& \: M
  3. SMTP = localhost 8 s3 v. |* T8 X) A2 F" l/ Y
  4. smtp_port = 25 6 z; U& v8 g# @
  5. ; For Win32 only.
    : j& ]% J. d* m2 f! f. r( G5 N
  6. ;sendmail_from = me@example.com + O: r+ N1 D+ b3 j7 V4 G' a  |
  7. ; For Unix only. You may supply arguments as well (default: "sendmail -t -i"). ; p7 h  l# ^2 f% ~9 u: T( K. |5 Y
  8. ; sendmail_path = "" $ ^0 n0 v( }5 C6 T9 \# {
  9. ; Force the addition of the specified parameters to be passed as extra parameters
    $ O8 P: G5 f* ]* l
  10. ; to the sendmail binary. These parameters will always replace the value of 7 |/ L) B) r( b3 Q( E1 E
  11. ; the 5th parameter to mail(), even in safe mode.
    . m' m' C( n1 Z6 ]
  12. ;mail.force_extra_parameters =
复制代码
默认情况下是以本机做为邮件服务器,这里我们需要借用sendmail来发送邮件,用sendmail来配置如用qq、163的邮箱来发送(一般都是以这种方式)所以我们需要把所有的选项都注销,即把SMTP = localhost和smtp_port = 25前面加上";"然后把sendmai_path=""前面的";"删掉,改为sendmai_path="d:\php\sendmail\sendmail.exe -t",改完后的即是 # N- \9 r( E7 M- ^4 O
  1. [mail function] # \0 T9 @) n3 m7 E* h' ]
  2. ; For Win32 only.
    ) K5 }. T4 E, h' R' {; m& h
  3. ;SMTP = localhost ) X' [! J# y: @' F( }
  4. ;smtp_port = 25 1 o- A$ e) H- I& Q
  5. ; For Win32 only.
    3 g, c! {5 C; v: {" E8 L
  6. ;sendmail_from = me@example.com
      A& N3 T5 O% P6 v* f0 e
  7. ; For Unix only. You may supply arguments as well (default: "sendmail -t -i"). 2 V+ N. Z5 d- j3 F# b- N  ^
  8. sendmail_path = "d:\php\sendmail\sendmail.exe -t"
      T8 Z  v7 F. a, r! l  o
  9. ; Force the addition of the specified parameters to be passed as extra parameters
    - @5 s! {# n- F+ u2 g# |+ I
  10. ; to the sendmail binary. These parameters will always replace the value of
      x  ?. `( R& e' k. I; J+ ^2 N
  11. ; the 5th parameter to mail(), even in safe mode.
    ' u4 c, l) U8 g
  12. ;mail.force_extra_parameters =
复制代码

6 q6 A6 M1 \- n; p: i0 d9 C/ n' Q注意以上只需要开启sendmail_path即可,然后保存
8 v, O3 n: H+ n7 ?: h% @/ C5 Z' R4 P! K& g8 A
接着修改sendmail目录下的sendmail.ini文件,主要填的内容有以下几项
+ s3 u9 _; \& S# [" e; {
  1. smtp_server=smtp服务器地址(如 smtp.ym.163.com)
    & j3 o6 S1 E7 D! j# Z- f" A* d
  2. auth_username=邮箱登录名(如 info@xxxx.com) ' o, _  J9 Y1 _1 \! ^- p6 f& s3 u
  3. auth_password=邮箱密码(如 xxxxxx)
    7 b$ R( Q5 R2 N9 |; H, @% @6 B. ]/ N: ~
  4. force_sender=发件人地址全写(如 info@xxxx.com)
复制代码
另外还有一项
9 p( W2 T3 y; |& }! a
  1. ; auto = use SSL for port 465, otherwise try to use TLS
复制代码
6 {6 q5 E. l9 Q  Z; X/ K4 ?$ U* C
把前面的";"删除,即开启SSL安全登录选项即可
- U! D6 K7 _) ]$ w% ?1 c7 V% X6 `- t6 H+ W# {' J5 N
以上四项正确填写修改完成后保存,然后重启IIS即可正常使用。 # c3 Q! Y5 T# N
# w" T% x) q. O
如果不能发送邮件,检查下端口是不是被屏蔽了,杀毒软件是不是设置了禁止发送邮件等  
1 U5 G# n3 L! `9 P; F
; W! {1 S) o' {8 I) [  i" S8 V# Y
回复

使用道具 举报

 楼主| 发表于 2012-9-2 10:24:28 | 显示全部楼层
http://www.phpmarker.com/1.html
1 n7 Q! m* a0 x5 q* S, L这个是另外一种方法,但是两种方法测试过,貌似都不管用
您需要登录后才可以回帖 登录 | 注册帐号

本版积分规则

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

虾皮社区,成立十年了!

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

Copyright © 2007-2019 xp6.org Powered by Discuz

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