向yahoo和hotmail用户发送电子邮件?

时间:2009-11-24 03:22:53

标签: php mysql email

我正在使用php和mysql。

每次用户在我的网站上注册时,我都会使用php mail()发送一封电子邮件进行身份验证。

最近我发现,很多Yahoo和Hotmail用户都没有激活他们的帐户。让我们说1000个用户,只有200个被激活。

我很好奇,我尝试使用我的Hotmail帐户注册。令我惊讶的是,我没有收到激活邮件。

我的域名是否被阻止发送电子邮件?如何解决这个问题呢?我测试了我的其他电子邮件帐户(我的公司和gmail),它运行正常。我认为只有雅虎和Hotmail给我带来了问题!

3 个答案:

答案 0 :(得分:4)

陛下,谷歌是你的朋友。 简而言之,您的问题没有简单的答案。电子邮件传递并不是非常简单,特别是因为它完全不依赖于您的编程。

99%是您的主机故障。如果您是VPSing,或者是共享主机 - 您可以忘记它,因为您继承了使用同一服务器的其他300人的声誉。

如果您拥有自己的服务器,请检查IP reputation,然后确定您需要2-3个月的完美电子邮件才能开始通过。

如果您有5个月可以吹一个月,请使用ReturnPath或只有CampaignMonitorMailChimp ESP这样的人来发送您的电子邮件。

DEBUG:如果您拥有root / shell访问权限,请尝试以下操作:

  • “挖掘mx yahoo.com”来自shell
  • 复制第一或第二个授权答案
  • telnet(IP / domain)25
  • 手动模拟SMTP会话like this
  • 粘贴Yahoo邮件服务器告诉您的内容

P.S。如果你要进入垃圾邮件文件夹,恭喜!通常,您的邮件将在SMTP级别安静地删除。更糟糕的是,即使你会从雅虎那里得到延迟的SMTP错误:这意味着他们会因为你的投诉比率没有足够的数据而限制你。

P.P.S。设置DNS记录以包含SPF,并为您的MTA推送DKIM签名。当你试图证明你的合法性时,这将有很大帮助。

P.P.P.S。使用http://www.senderbase.org/首先查找您的IP。

祝你好运。

答案 1 :(得分:1)

如果我,我会将自定义域名注册到谷歌应用程序,并将打开一个拥有自己域名的Gmail帐户。

然后我将通过谷歌邮件服务器发送电子邮件。除非你的域名是黑名单或某些原因,否则很难进入垃圾邮件文件夹。

以下是通过谷歌邮件服务器发送电子邮件的hello world示例。

$user=$from="sender@yourdmain.com"
$to="receiver@email.com"
$passwd="sender@yourdmain.com's password"

require_once 'Mail.php';

$params = array(
'host'=> 'tls://smtp.gmail.com','port'=> 465,'auth'=> true,'debug'  => false,
'username' => $user,
'password' => $passwd
);

$smtp = Mail::factory('smtp', $params);
$smtp->send($to, array('From'=>$from,'To'=>$to), "Hello World!");
抱歉,如果你不想那样做。

答案 2 :(得分:0)

关于打击垃圾邮件......你可能需要设置一个发件人政策框架记录...... Hotmail使用SenderID

http://postmaster.msn.com/Guidelines.aspx
http://www.microsoft.com/mscorp/safety/technologies/senderid/default.mspx
http://www.openspf.org/

祝你好运!