|
|
最近研究uchome,使用在线发邮件的功能,但是测试了"通过 PHP 函数的 sendmail 发送(推荐此方式)"怎么都没用,因为本人现在用的是iis+php环境,怎么调试都没有用,经过研究之后搞定,分享一下教大家在自己服务器上配置sendmail。很多php的网站例如Discuz的论坛和各种phpCMS的网站都用到。2 J `4 |0 D( f
首先你需要先到从http://glob.com.au/sendmail/下载sendmail.zip文件,点此可以直接下载噢,然后把它解压到如D:\php\sendmail\目录下。
+ G6 V6 ~0 v- Y$ S1 W) A: c然后打开php.ini文件,找到下面这段代码
: v4 O* l) I ^" P) A; @: A3 o- [mail function]
: e; ^1 T. D2 v) G. f8 ] - ; For Win32 only.
, F$ q8 u5 A) E% o - SMTP = localhost " _6 W6 {3 ~; Y9 a
- smtp_port = 25
; X' u# c' k) }" g - ; For Win32 only. ( K+ V1 c) B v" _" x
- ;sendmail_from = me@example.com
5 X5 p( i [! Z* n( h - ; For Unix only. You may supply arguments as well (default: "sendmail -t -i").
& H% V( ~, F/ p7 G+ q* q - ; sendmail_path = ""
4 b; v5 {$ n" r$ P5 f0 A - ; Force the addition of the specified parameters to be passed as extra parameters : i: J) y' H/ C' c
- ; to the sendmail binary. These parameters will always replace the value of 0 O, _! k0 k6 s' T/ `- D& U: f
- ; the 5th parameter to mail(), even in safe mode.
5 C) V) X+ {4 y3 F - ;mail.force_extra_parameters =
复制代码 默认情况下是以本机做为邮件服务器,这里我们需要借用sendmail来发送邮件,用sendmail来配置如用qq、163的邮箱来发送(一般都是以这种方式)所以我们需要把所有的选项都注销,即把SMTP = localhost和smtp_port = 25前面加上";"然后把sendmai_path=""前面的";"删掉,改为sendmai_path="d:\php\sendmail\sendmail.exe -t",改完后的即是 5 l. G) n! A8 i* L2 j7 a' {9 I( z( A
- [mail function]
" r. L+ n* @! k$ F* C# x$ o! v - ; For Win32 only.
/ W. H& m, _2 L! z6 r, n2 W - ;SMTP = localhost 1 ]0 }2 w) O% Y4 ]
- ;smtp_port = 25
$ O$ `% A- W4 b/ O - ; For Win32 only.
& x9 O" Z# g7 C) v - ;sendmail_from = me@example.com
. y3 D( |5 E) ]9 T3 N. b - ; For Unix only. You may supply arguments as well (default: "sendmail -t -i").
' H& F- C/ S5 i( E2 y. @! w - sendmail_path = "d:\php\sendmail\sendmail.exe -t"
' q3 r! g# N3 x- `0 g2 G - ; Force the addition of the specified parameters to be passed as extra parameters
* K, U* b/ M5 J, [* `& J( ^' z - ; to the sendmail binary. These parameters will always replace the value of
! }+ d2 ?3 |3 p' M - ; the 5th parameter to mail(), even in safe mode. * Z# ?1 E* Q: G
- ;mail.force_extra_parameters =
复制代码 % u. P, t4 ^# u3 K+ g' W
注意以上只需要开启sendmail_path即可,然后保存
+ _& v4 b! W9 n# a D* G1 N; T+ `( i7 u# [
接着修改sendmail目录下的sendmail.ini文件,主要填的内容有以下几项 ; n: I a8 D' O+ z; C; ^4 x
- smtp_server=smtp服务器地址(如 smtp.ym.163.com)
9 L9 a! q7 m: Q+ y$ Z& ~' n8 H - auth_username=邮箱登录名(如 info@xxxx.com) . T# Y; K0 {" d
- auth_password=邮箱密码(如 xxxxxx)
: B# \! U# `5 y! H. f1 r; _ - force_sender=发件人地址全写(如 info@xxxx.com)
复制代码 另外还有一项 3 b0 q7 q0 i2 t& `
- ; auto = use SSL for port 465, otherwise try to use TLS
复制代码
" o7 O7 [5 Z* b. s# \" a* `把前面的";"删除,即开启SSL安全登录选项即可
) B9 x4 A9 y" w6 f. [: z: y$ L5 X9 d; R
以上四项正确填写修改完成后保存,然后重启IIS即可正常使用。 4 i& R5 c7 W8 R1 `1 b9 P$ K' ]( @
( K4 p4 v& ^0 }
如果不能发送邮件,检查下端口是不是被屏蔽了,杀毒软件是不是设置了禁止发送邮件等
! N- W- g' w" I( y* l1 D# _" d+ w- K/ e
|
|