|
|
最近研究uchome,使用在线发邮件的功能,但是测试了"通过 PHP 函数的 sendmail 发送(推荐此方式)"怎么都没用,因为本人现在用的是iis+php环境,怎么调试都没有用,经过研究之后搞定,分享一下教大家在自己服务器上配置sendmail。很多php的网站例如Discuz的论坛和各种phpCMS的网站都用到。" W2 g) ~ g3 J8 D3 h
首先你需要先到从http://glob.com.au/sendmail/下载sendmail.zip文件,点此可以直接下载噢,然后把它解压到如D:\php\sendmail\目录下。
, a/ ~. Z# ^1 @然后打开php.ini文件,找到下面这段代码
/ b p- _+ \: e: a' n- [mail function] 3 a" U' ?' O6 z: E' K4 O
- ; For Win32 only.
3 o4 F' e/ p: d* ? - SMTP = localhost 6 g4 L4 b/ D" [: P( j
- smtp_port = 25 1 E3 V8 |7 q6 v1 N( o z1 D4 x9 {2 F
- ; For Win32 only. 3 U+ E- |+ {7 g |$ R! q0 g
- ;sendmail_from = me@example.com
( O! b$ w) N, ?! X" [$ Y - ; For Unix only. You may supply arguments as well (default: "sendmail -t -i").
4 m% K' x; r1 Z- t1 s - ; sendmail_path = ""
( y0 g" h6 M/ b& {' |% ` - ; Force the addition of the specified parameters to be passed as extra parameters
6 S) ^: I3 A+ R% B: K - ; to the sendmail binary. These parameters will always replace the value of ; T( r% F. M, j! w! l% e V
- ; the 5th parameter to mail(), even in safe mode. ; Q0 d1 \2 B) r$ T* r
- ;mail.force_extra_parameters =
复制代码 默认情况下是以本机做为邮件服务器,这里我们需要借用sendmail来发送邮件,用sendmail来配置如用qq、163的邮箱来发送(一般都是以这种方式)所以我们需要把所有的选项都注销,即把SMTP = localhost和smtp_port = 25前面加上";"然后把sendmai_path=""前面的";"删掉,改为sendmai_path="d:\php\sendmail\sendmail.exe -t",改完后的即是
' z% O- v. I: S' M7 w; q- [mail function] . d% ~' G1 |8 ^* Q% P9 S
- ; For Win32 only.
, _) d1 X {0 c - ;SMTP = localhost
+ X8 l1 `7 O6 m6 W0 B9 o4 y - ;smtp_port = 25
5 |! A. U0 w9 e/ Z' k/ I - ; For Win32 only. c8 k' e+ _6 i4 D' P1 a2 S: X4 h
- ;sendmail_from = me@example.com
3 @4 v6 L7 t4 G# D: r - ; For Unix only. You may supply arguments as well (default: "sendmail -t -i"). $ ^, `, R( H7 H9 @8 P* m
- sendmail_path = "d:\php\sendmail\sendmail.exe -t" ) P- b; p) W6 A0 |8 r, d; g
- ; Force the addition of the specified parameters to be passed as extra parameters
; k- O( T) N4 W t - ; to the sendmail binary. These parameters will always replace the value of , G, N4 z3 W( P* j/ l: } d
- ; the 5th parameter to mail(), even in safe mode. 2 C, B. v9 m+ F7 }( C+ _! \) l. e3 _# V
- ;mail.force_extra_parameters =
复制代码 3 u% m2 I9 t7 m" g" c( h( k
注意以上只需要开启sendmail_path即可,然后保存 " ?# S# B. p! a$ F, v- S
9 _0 {& ~+ | J1 |# Z8 t' I. E. Z
接着修改sendmail目录下的sendmail.ini文件,主要填的内容有以下几项
* k8 a p+ f- Y- smtp_server=smtp服务器地址(如 smtp.ym.163.com) # s1 H1 n' U; d: U
- auth_username=邮箱登录名(如 info@xxxx.com) 9 ]7 {0 U9 M0 a
- auth_password=邮箱密码(如 xxxxxx)
5 ?; N. o& R8 g9 c6 i+ P+ ^ - force_sender=发件人地址全写(如 info@xxxx.com)
复制代码 另外还有一项
, B% o$ a! G% `1 d' W j, j/ \" F- ; auto = use SSL for port 465, otherwise try to use TLS
复制代码 ; s* P9 w' Q# f/ D0 k
把前面的";"删除,即开启SSL安全登录选项即可
& v) C2 `4 w8 ^2 z) L! K7 W0 J$ { \
以上四项正确填写修改完成后保存,然后重启IIS即可正常使用。 - r9 V* a1 q. \- x
2 |% o9 `/ U8 {# s' E3 f* U
如果不能发送邮件,检查下端口是不是被屏蔽了,杀毒软件是不是设置了禁止发送邮件等
) ~7 d/ m/ A3 d8 E4 R: n( d3 C3 v
|
|