2013-02-08 69 views
1

我使用一些代码将数据发送到其还发送确认电子邮件已输入到表单字段电子邮件似乎只被发送到Gmail的

一些奇怪的原因的电子邮件地址数据库,它似乎只发送给我的Gmail帐户,并没有别的如Hotmail Tiscali公司雅虎

这里是我用来发送电子邮件

// this send the receiver an email with the link to their ecard 
mail("$receiveremail","Somebody loves you !", "<img src=\"http://www.somebodylovesyou.co.uk/images/email-header.jpg\" width=\"300\" height=\"57\"> 
</p> 
<p>Hello $name,</p> 
<p>Someone you know has sent you a secret valentine's message from http://www.somebodylovesyou.co.uk </p> 
<p>You can view your message here : <a href='http://www.somebodylovesyou.co.uk/viewcard.php?rand=$eid'>http://www.somebodylovesyou.co.uk/viewcard.php?rand=$eid</a></P> 
<P>Why not send a special someone a secret valentine's message at http://www.somebodylovesyou.co.uk</p> 
<P>Happy Valentines", $headers); 

// this send the receiver an email with the link to their ecard 
mail("$youremail","View the message you've just sent", "<img src=\"http://www.somebodylovesyou.co.uk/images/email-header.jpg\" width=\"300\" height=\"57\"> 
</p> 
<p>Hello,</p> 
<p>Thanks for using Somebody Loves You </p> 
<p>You can view the message you sent here : <a href='http://www.somebodylovesyou.co.uk/viewcard.php?rand=$eid'>http://www.somebodylovesyou.co.uk/viewcard.php?rand=$eid</a></P> 
<P>Happy Valentine's", $headers);?> 

有人建议我用这些头以及帮助发送代码电子邮件,但它似乎并没有工作

// these headers are for the purpose of sending the email replay to hotmail and yahoo addresses 
$headers = "MIME-Version: 1.0\r\n"; 
$headers .= "Content-type: text/html; charset=iso-8859-1\r\n"; 
$headers .= "From: SOMEBODY LOVES YOU <[email protected]>\r\n"; 
$headers .= "Reply-To: <[email protected]>\r\n"; 
$headers .= "X-Priority: 3\r\n"; 
$headers .= "X-MSMail-Priority: Normal\r\n"; 
$headers .= "X-MimeOLE: Produced By Microsoft MimeOLE V6.00.2800.1409\r\n"; 
$headers .= "X-Mailer: Microsoft Outlook Express 6.00.2800.1409"; 
+0

你应该看看[SwiftMailer](http://swiftmailer.org/)或[Pear](http://pear.php.net/package/Mail/redirected)。尝试一下,看看它是否适合你。 – 2013-02-08 20:22:34

+0

你用简单的电子邮件正文试过了吗? (没有html,少了文字) – 2013-02-08 20:30:51

+0

尝试像'mailmetrash.com'或'10minutemail.com'这样的一次性服务,看看它是否到达那里。如果确实如此,但仍然不是雅虎/ Hotmail,请确认它没有以垃圾邮件结尾。如果您使用共享主机,很可能大多数电子邮件提供商会将其标记为垃圾邮件。 – 2013-02-08 20:31:16

回答

0

尝试SwiftMailer这很容易利用,这是非常强大的

$body = "<img src=\"http://www.somebodylovesyou.co.uk/images/email-header.jpg\" width=\"300\" height=\"57\"> </p> <p>Hello $name,</p> <p>Someone you know has sent you a secret valentine's message from http://www.somebodylovesyou.co.uk </p> <p>You can view your message here : <a href='http://www.somebodylovesyou.co.uk/viewcard.php?rand=$eid'>http://www.somebodylovesyou.co.uk/viewcard.php?rand=$eid</a></P> <P>Why not send a special someone a secret valentine's message at http://www.somebodylovesyou.co.uk</p> <P>Happy Valentines</p>";  
    $transport = Swift_MailTransport::newInstance(); 

    $mailer = Swift_Mailer::newInstance($transport); 
    $message = Swift_Message::newInstance($subject) 
      ->setFrom(array("[email protected]" => "SOMEBODY LOVES YOU")) 
      ->setTo(array($receiveremail)) 
      ->setBody($body, 'text/html'); 

$mailer->send($message); 
+0

从这段代码中,我如何发送2个不同的邮件到$ youremail和$ receiveremail?阿洛斯,所以我只是取代我的代码或我需要包括一些其他文件?我现在很迷茫 – 2013-02-08 20:45:36

+0

你应该在开始的时候以不同的方式解决这个问题。我要说的是效率不高,但我相信你处于你的学习阶段。 $ $ body1和$ body2变量用于$接收器,另一个用于$ youremail。重复$ message1接收器和$ message2 youremail。相应地更改变量,直到您学习OOP为止,您都会很开心。 – u54r 2013-02-08 21:01:39

+0

我是否需要包含任何其他文件或只是替换我的? – 2013-02-08 21:07:16

0

这听起来像这是不是你的代码的问题。如果它到达一个邮件提供商而不是另一个,则其他提供商将阻止它或将其标记为垃圾邮件。

此时需要考虑确保MX记录和其他DNS记录正确设置以识别您的服务器。

您的域名/ IP也可能被列入黑名单。在这种情况下,每个邮件提供商都可以采取措施让他们摆脱黑名单。

+0

似乎电子邮件直接去垃圾邮件...任何方式来防止这种情况? – 2013-02-08 20:55:13

+0

这是一个更适合serverfault.com的问题。这基本上归结为设置公共记录,说你不是一个肮脏的垃圾邮件发送者。可能涉及让你从黑名单中删除。 – BOMEz 2013-02-08 21:15:53

1

从技术上说,Gmail在协议方面与其他电子邮件服务完全相同,所以我猜这不是代码相关的问题。

我检查什么是你传出的电子邮件服务器和域,尤其是两件事情:

这些电子邮件防伪技术。某些电子邮件服务会自动拒绝没有SPF和DKIM的邮件。

+0

MX和DNS记录是否也包含在内?我对电子邮件协议知之甚少,但我记得当我最后一次处理电子邮件问题时,这些问题都是一个问题。 – BOMEz 2013-02-08 21:23:04

+0

MX记录用于接收邮件,因此应该可以。 DNS记录是所有这些域相关记录的广义术语,包括MX,SPF和DKIM。查看您的域名注册商的网站,了解有关配置SPF和DKIM的一些提示。 – gronostaj 2013-02-08 22:28:56