【问题标题】:Forwarding emails from non-existing subdomain?从不存在的子域转发电子邮件?
【发布时间】:2014-11-18 00:53:37
【问题描述】:

我在 DNS 设置中添加了子域的名称记录, 所以如果你输入

notexistingsubdomain.mysite.com

它重定向到

mysite.com

而且我还有一个脚本,用于传输电子邮件,

pipe.php

#!/usr/bin/php -q
<?
$fd = fopen("php://stdin", "r");
$email = "someone@hotmail.com";
while (!feof($fd))
{
    $email .= fread($fd, 1024);
}
fclose($fd);


mail('admin@mysite.com','From my email pipe!','"' . $email . '"');

?>

如果有人发邮件给

notexistinguser@mysite.com

到了

admin@mysite.com

我做不到的是

我想将所有电子邮件转发到我域的电子邮件(甚至是非现有子域),例如

something@notexistingsubdomain.mysite.com

admin@mysite.com

这样做的正确方法是什么?

【问题讨论】:

  • 如果您使用的是 CPANEL,请激活电子邮件包罗万象的功能。 siteground.com/tutorials/email/catch_all_email.htm
  • 我认为您需要 MX 记录,而不是 A 记录。
  • 为什么还要使用 PHP 只需要设置一个别名或在您的邮件服务器上捕获所有内容
  • *.mysite.com 添加一个MX 记录,然后在您的电子邮件服务器上重写?我不知道 MTA CPanel 使用什么,但in postfix it should be easy.

标签: php email cpanel forward


【解决方案1】:

我想以此作为开场白:在电子邮件中包罗万象 antyhing 是个坏主意,除非您喜欢大量垃圾邮件。 这是个坏主意,您应该这样做不这样做,但如果你不倾向于听理性,那么这就是你正确的做法:

  1. 创建通配符 A 和 MX 记录:

    是的,您需要 A 记录。一些 MTA 会拒绝发送到没有 A 记录的域/子域。

    *.yourdomain.com. IN A     1.2.3.4
    *.yourdomain.com. IN MX 10 mail.yourdomain.com
    
  2. 在您的 MTA 软件中设置通配符域别名:

    • TBH:我真的怀疑您是否能够通过 CPanel 进行设置,我认为他们会做出 [合理的] 假设,即没有任何人在他们正常的头脑中会这样做。
    • 这在技术上应该是可行的,尽管您需要以创造性的和可能未记录的方式手动编辑一些配置文件。您绝对可以在 Postfix 中做到这一点,并且您可以在 Sendmail 中做任何有足够进取心的事情。其他 MTA...我不能确定。
  3. 当您的万能邮箱每天达到其配额时,或者如果没有分配配额,您的邮件服务器的磁盘每周都会被填满时,您会歇斯底里地哭泣。

  4. 想知道你为什么这样做。

哦,除非这是您是唯一管理员的专用服务器,否则我建议您不要这样做。如果有人在我管理的服务器上这样做,甚至尝试这样做,我会追踪他们并对他们做非常不愉快的事情。

【讨论】:

  • 谢谢,但是 1.2.3.4 数字是什么,它们属于我的服务器的 ip 吗?我需要 mta 吗?那是什么
  • 是的,你的服务器的 IP。 MTA。我的建议:认真地停止考虑这个。除了是一个坏主意之外,它还远远超出了您当前的技能水平,如果您不小心的话,您可能最终会破坏您的邮件服务器。
  • 相信我,我有一件非常好的和合理的事情要做。但我不能。在 cpanel > 编辑 DNS 区域(高级)中没有要添加的 MX 选项。我在哪里可以添加它?
猜你喜欢
  • 1970-01-01
  • 2017-06-07
  • 2017-01-08
  • 1970-01-01
  • 2018-07-02
  • 1970-01-01
  • 2013-04-03
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多