1. 论坛系统升级为Xenforo,欢迎大家测试!
    排除公告

求救~发邮件提示成功,但总是收不到信是什么原因?

本帖由 hjb12006-01-18 发布。版面名称:新人报道

  1. hjb1

    hjb1 Active Member

    注册:
    2005-09-04
    帖子:
    1,623
    赞:
    5
    求救~发邮件提示成功,但总是收不到信是什么原因?

    换了几个程序测试也换了几个邮箱都是收不到
     
  2. alpha

    alpha New Member

    注册:
    2005-12-15
    帖子:
    683
    赞:
    0
    该问题是由于反垃圾邮件软件引起的,已经和sina 确认过,他们最近部署了一套反垃圾邮件的系统

    在默认条件下,邮件服务器在发出helo命令与远端的邮件服务
    器通过25端口建立会话时还会送出自己的FQDN名字。目前流行的一
    些反垃圾邮件软件可能会通过邮件服务器送出的FQDN名字对其
    进行反向解析,对于反向解析失败的连接将断开该连接。

    反向解析失败的原因如下:

    在国内,很多管理员在做域名解析时没严格按要求做,认为通了就行。建议的做法是:对域名abc.com要做这些解析(根据需要增减)
    1、主机A记录abc.com
    2、主机A记录mail.abc.com
    3、主机A记录www.abc.com
    4、主机A记录ftp.abc.com
    5、abc.com 到 mail.abc.com的MX记录
    6、反向解析记录
      很多人在做邮件服务器时会忘掉做MX记录和反向解析记录,abc.com和mail.abc.com不是同一台主机的话,忘了MX记录会出很多这样那样的问题,过后在解决故障的过程中把它加上。但愿意做反向解析的管理员是少之又少,在国外,很多UNIX主机会检查你发邮件时使用的域名,如果反向解析不通,你的邮件就会被“咔嚓”。
      那么我们做了这些解析是不是发邮件给新浪、网易、搜狐、163.net和263就没问题了?当然不是!!!!
      用新浪来说吧,新浪的邮件是两套系统:收费和免费,两套系统的MX地址也不一样。免费的后缀为@sina.com,收费的为@vip.sina.com。免费邮件系统除了在邮箱容量上的限制,还会在邮件数目做做出限制:即在一段时间范围内,如果从同一IP发到新浪免费邮箱的邮件数量超过了一定的数目限制,该IP地址将会被免费邮件系统封锁,封锁时间内就无法发送邮件到新浪免费邮件系统。
      大概过15-20分钟之后,如果该IP地址没有再往它那发送邮件,该IP地址将会自动从IP地址列表中删除。另:这个问题是在8月初总结的,现在新浪的收费邮件系统有没有这个规则没问过新浪。
      如果你的IP在规定的时间内没有解除封锁,那就边哭边给新浪的管理员打电话吧,给他说:大哥,我求你了,你就当我是个屁,把我放了吧……
      这个规则不仅新浪有,搜狐、163、263等都有。这是一个防止垃圾邮件的好方法,但也造成邮件列表无法正常发送。用以上邮箱收不到很多服务商的邮件列表就是这个原因。
      这个规则是管理员在服务器上做的设置,普通用户暂时别想。使用IMail的管理员可以让你的老板花银子买Declude插件来实现这个功能。


    尝试以下排错方法:
    1. Ping 邮件服务器的FQDN名字,并确认是否可以解析出所对
    应的IP地址。
    如果不能,在Internet DNS服务器上是否有邮件服务器的
    A记录

    2.通过NSlookup查询是否为所有能够向外直接发送邮件的
    邮件服务器添加了MX记录
     
  3. hjb1

    hjb1 Active Member

    注册:
    2005-09-04
    帖子:
    1,623
    赞:
    5
    好像是本地没开SMTP服务器才这样~
     
  4. alpha

    alpha New Member

    注册:
    2005-12-15
    帖子:
    683
    赞:
    0
    。。。什么是好象、??:) 解决了。回来回复下。。。。大家都学习下。
     
  5. hjb1

    hjb1 Active Member

    注册:
    2005-09-04
    帖子:
    1,623
    赞:
    5
    php.ini里
    [mail function]
    ; For Win32 only.
    SMTP = localhost

    ; For Win32 only.
    ;sendmail_from = [email protected]

    ; For Unix only. You may supply arguments as well (default: "sendmail -t -i").
    ;sendmail_path = D:\usr\sbin

    发信通过 PHP 函数及 UNIX sendmail 发送 (好像就是上面,好像。。)
    而现在的smtp发信服务一般都是要验证的
    所以要找个一免验证的smtp服务器
    所以我想自己开个smtp服务器再加个限制只要localhost本地可使用
    这样一来就不用去一个一个的修改程序~让程序来发信


    简单点
    通过 PHP 函数
    本地免验证SMTP 服务器
    发信