这可能是一个不好的问题。我想知道是否可以从服务器发送与domain1.com相关联的电子邮件,来自domain2.com
,并且还有来自domain2.com
的原创节目?从不同于主域的域发送电子邮件?可能?
我想之所以这样做,是因为我有我开发一个应用程序,并想从域发送电子邮件,例如 - maildomain.com
,而不是从domain.com
电子邮件来正在用php的邮件功能发送。
这可能是一个不好的问题。我想知道是否可以从服务器发送与domain1.com相关联的电子邮件,来自domain2.com
,并且还有来自domain2.com
的原创节目?从不同于主域的域发送电子邮件?可能?
我想之所以这样做,是因为我有我开发一个应用程序,并想从域发送电子邮件,例如 - maildomain.com
,而不是从domain.com
电子邮件来正在用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);
您应该建立一些东西,所以接收方不将其标记为垃圾邮件,但:
如果邮件服务器是open mail relay那么是的,你可以从不同的域发送。当然垃圾邮件发送者可以用它来发送垃圾邮件。获得此功能的邮件服务器配置取决于其平台,但您通常可以测试服务器通过telneting to the server on port 25自由中继邮件并进行ehlo测试的功能。
电子邮件中的“发件人”地址完全是任意的。只要您有权将邮件提交到服务器的队列,您可以将所需的任何发件人地址放入其中。 [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);
可能吗?是的,当然可以。请参阅下面的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);
?>
提交消息的能力并不意味着服务器是开放中继。阅读sendmail或postfix的[** access ** map](http://www.postfix.org/access.5.html)或postfix的“mynetworks”配置选项。 – ghoti
哦,我的意思是使用ehlo测试来查看smtp服务器是否会接受外部地址作为发件人地址。 –