2012-01-23 47 views
0

这可能是一个不好的问题。我想知道是否可以从服务器发送与domain1.com相关联的电子邮件,来自domain2.com,并且还有来自domain2.com的原创节目?从不同于主域的域发送电子邮件?可能?

我想之所以这样做,是因为我有我开发一个应用程序,并想从域发送电子邮件,例如 - maildomain.com,而不是从domain.com

电子邮件来正在用php的邮件功能发送。

回答

0

是的,你可以:

$to  = '[email protected]'; 
$subject = 'the subject'; 
$message = 'hello'; 
$headers = 'From: [email protected]' . "\r\n" . 
    'Reply-To: [email protected]' . "\r\n" . 
    'X-Mailer: PHP/' . phpversion(); 

mail($to, $subject, $message, $headers); 

您应该建立一些东西,所以接收方不将其标记为垃圾邮件,但:

  • 设置DNS MX记录与低优先级指向发送服务器的接收域
  • 为发送服务器设置正确的反向DNS条目
  • ..
-1

如果邮件服务器是open mail relay那么是的,你可以从不同的域发送。当然垃圾邮件发送者可以用它来发送垃圾邮件。获得此功能的邮件服务器配置取决于其平台,但您通常可以测试服务器通过telneting to the server on port 25自由中继邮件并进行ehlo测试的功能。

+0

提交消息的能力并不意味着服务器是开放中继。阅读sendmail或postfix的[** access ** map](http://www.postfix.org/access.5.html)或postfix的“mynetworks”配置选项。 – ghoti

+0

哦,我的意思是使用ehlo测试来查看smtp服务器是否会接受外部地址作为发件人地址。 –

0

电子邮件中的“发件人”地址完全是任意的。只要您有权将邮件提交到服务器的队列,您可以将所需的任何发件人地址放入其中。 [email protected][email protected]等。

要使用PHP的mail()函数执行此操作,请使用* $ additional_headers *。例如:

$to  = "[email protected]"; 
$subject = "This is an example!"; 
$message = "Hello,\n\nThis is message body.\n\nIsn't that nice?\n\n"; 
$headers = "From: El Presidente <[email protected]>\r\n" 
     . "X-foo: bar\r\n"; 

$result = mail($to, $subject, $message, $headers); 
0

可能吗?是的,当然可以。请参阅下面的PHP.net示例。不过,我打算在这里放一点小小的印刷品,因为我认为你可能会遇到一些麻烦,我希望在未来让你更容易。 ;)你目前的虚拟主机可能会阻止这个,我从来没有看到它,但我听说它可能发生。此外,还有一种称为SPF或发件人策略框架的东西,它是一个DNS记录,您可以设置该记录来确定哪些服务器可以代表您发送。许多服务器可能会收到您的邮件,特别是GMail会检查有效的SPF。您所要做的就是在名称服务器上为domain.com添加TXT记录。它应该看起来像这样:v=spf1 mx a:maildomain.com -all。这表示设置了MX记录的任何记录,以及从maildomain.com解析的IP都是有效的“非垃圾邮件”。此外,您将失败任何其他邮件来源。

<?php 
$to  = '[email protected]'; 
$subject = 'the subject'; 
$message = 'hello'; 
$headers = 'From: [email protected]' . "\r\n" . 
    'Reply-To: [email protected]' . "\r\n" . 
    'X-Mailer: PHP/' . phpversion(); 

mail($to, $subject, $message, $headers); 
?> 
相关问题