搜索
查看: 18813|回复: 1

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

[复制链接]
发表于 2012-9-2 08:29:24 | 显示全部楼层 |阅读模式
  最近研究uchome,使用在线发邮件的功能,但是测试了"通过 PHP 函数的 sendmail 发送(推荐此方式)"怎么都没用,因为本人现在用的是iis+php环境,怎么调试都没有用,经过研究之后搞定,分享一下教大家在自己服务器上配置sendmail。很多php的网站例如Discuz的论坛和各种phpCMS的网站都用到。, @( q7 ^; M0 ~9 [6 [
首先你需要先到从http://glob.com.au/sendmail/下载sendmail.zip文件,点此可以直接下载噢,然后把它解压到如D:\php\sendmail\目录下。
# J! [- s# ~$ Y0 |9 ^: z4 G* `然后打开php.ini文件,找到下面这段代码
& d- Y# H" b! U1 z
  1. [mail function]
      C" t& N8 J- k# V- M/ W( b4 J
  2. ; For Win32 only. ) R6 n+ Z* W  y/ d1 N2 g
  3. SMTP = localhost
    & S0 a) W7 L7 [
  4. smtp_port = 25
    & n1 |/ X; C  o% L) n/ F. b! {) N, E
  5. ; For Win32 only.
    $ W) G! Y- `: B0 ?
  6. ;sendmail_from = me@example.com 1 N! [: I- K7 O+ B
  7. ; For Unix only. You may supply arguments as well (default: "sendmail -t -i").
    2 f3 K* U4 ^, ?- E
  8. ; sendmail_path = "" " e  c1 e% t2 j7 ^6 [
  9. ; Force the addition of the specified parameters to be passed as extra parameters
    ) @" l! [# _0 X; d2 n& F
  10. ; to the sendmail binary. These parameters will always replace the value of 0 Q. z- g& F1 g0 [
  11. ; the 5th parameter to mail(), even in safe mode.
    4 Y- F. K- m& g2 _% {! V( d7 J; o
  12. ;mail.force_extra_parameters =
复制代码
默认情况下是以本机做为邮件服务器,这里我们需要借用sendmail来发送邮件,用sendmail来配置如用qq、163的邮箱来发送(一般都是以这种方式)所以我们需要把所有的选项都注销,即把SMTP = localhost和smtp_port = 25前面加上";"然后把sendmai_path=""前面的";"删掉,改为sendmai_path="d:\php\sendmail\sendmail.exe -t",改完后的即是 8 U. m& V" ~% r: h: ?5 R. U
  1. [mail function]
    % b4 b. Q* U: y; W
  2. ; For Win32 only.
    * ]" v( x$ c  y4 u3 R
  3. ;SMTP = localhost ' x8 x. G8 t0 ^8 [4 I  a
  4. ;smtp_port = 25
    - C6 C. x; u4 R# ]! b. o: s2 M4 W/ T
  5. ; For Win32 only.   m" M9 S7 g0 L
  6. ;sendmail_from = me@example.com " \7 F/ @  n& p8 Z) N
  7. ; For Unix only. You may supply arguments as well (default: "sendmail -t -i"). # q$ S9 I( n* v2 Y2 k) q) X. K
  8. sendmail_path = "d:\php\sendmail\sendmail.exe -t" 5 Q3 a# V! U! q0 z5 `1 c/ k3 I% @
  9. ; Force the addition of the specified parameters to be passed as extra parameters
    - k1 N+ X* [3 E8 n2 e" V
  10. ; to the sendmail binary. These parameters will always replace the value of
    9 @2 N$ [. L, ~0 F1 ]" e( o
  11. ; the 5th parameter to mail(), even in safe mode.
    3 I& `$ I2 @" b6 f7 u# Z; [" x. _
  12. ;mail.force_extra_parameters =
复制代码

# d2 @8 {- J% X注意以上只需要开启sendmail_path即可,然后保存
# T6 a  B+ c+ ?' A. q* z2 b7 W+ j$ ?! u: l3 k2 f8 M5 Q
接着修改sendmail目录下的sendmail.ini文件,主要填的内容有以下几项
5 n% g$ T; ?5 m7 X/ T2 e
  1. smtp_server=smtp服务器地址(如 smtp.ym.163.com) 1 F8 ^% B6 t3 N+ L
  2. auth_username=邮箱登录名(如 info@xxxx.com) ) l# Y, }2 J& V7 e4 O! i
  3. auth_password=邮箱密码(如 xxxxxx)
    0 y& ^8 J7 \. b5 V+ s" Y+ m
  4. force_sender=发件人地址全写(如 info@xxxx.com)
复制代码
另外还有一项
) p. F! p0 V# _6 [
  1. ; auto = use SSL for port 465, otherwise try to use TLS
复制代码

; U. B4 z9 ]; a* N: h  N/ q. U+ q把前面的";"删除,即开启SSL安全登录选项即可
1 {0 s; r: a$ p$ j9 q6 x
7 ~3 N9 o: r3 R" A- c8 R以上四项正确填写修改完成后保存,然后重启IIS即可正常使用。
# i/ K. l0 b! z  d
6 g7 T$ B- Z5 u; @如果不能发送邮件,检查下端口是不是被屏蔽了,杀毒软件是不是设置了禁止发送邮件等  
6 _' \# C+ V$ h- E. n6 M7 E2 A# @9 [$ h# r0 N8 i/ ^5 w
回复

使用道具 举报

 楼主| 发表于 2012-9-2 10:24:28 | 显示全部楼层
http://www.phpmarker.com/1.html
2 l9 M3 C7 M  C' I: \这个是另外一种方法,但是两种方法测试过,貌似都不管用
您需要登录后才可以回帖 登录 | 注册帐号

本版积分规则

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

虾皮社区,成立十年了!

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

Copyright © 2007-2019 xp6.org Powered by Discuz

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