Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/260.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 从不存在的子域转发电子邮件?_Php_Email_Cpanel_Forward - Fatal编程技术网

Php 从不存在的子域转发电子邮件?

Php 从不存在的子域转发电子邮件?,php,email,cpanel,forward,Php,Email,Cpanel,Forward,我在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); } f

我在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 . '"');

?>
说到

admin@mysite.com
我做不到的是

我想将所有电子邮件转发到我的域的电子邮件(甚至是不存在的子域),如


正确的方法是什么?

我想在序言中说:在电子邮件中捕获所有信息是一个坏主意,除非你喜欢大量的垃圾邮件。这是一个坏主意,你不应该这样做,但如果你不喜欢听理由,那么这就是你正确的做法:

  • 创建通配符a和MX记录:

    是的,你需要一张唱片。某些MTA将拒绝发送到没有a记录的域/子域

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

    • TBH:我真的怀疑你是否能够通过CPanel设置这个,我认为他们会做出[合理的]假设,没有一个头脑正常的人会这样做
    • 这在技术上应该是可行的,尽管您需要以创造性的、可能未记录的方式手工编辑一些配置文件。你完全可以在Postfix中做到这一点,而且你可以用足够的勇气在Sendmail中做任何事情。其他MTA。。。我真的不能肯定。
  • 当您的“一网打尽”邮箱每天都达到其配额,或者如果没有分配配额,您的邮件服务器的磁盘每周都会填满时,您会歇斯底里地抽泣

  • 不知道你为什么要这样做


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

    如果您使用的是CPANEL,请激活电子邮件捕获功能。我想你需要的是MX记录,而不是A记录。为什么要使用PHP来实现这一点呢?只需在邮件服务器上设置一个别名或catch all即可为
    *.mysite.com
    添加一条
    MX
    记录,然后在电子邮件服务器上重写?我不知道MTA CPanel使用什么,但是。谢谢,但是1.2.3.4的数字是什么,它们属于我服务器的ip吗?我需要mta吗?那是什么是的,你服务器的IP。我的建议是:说真的,不要再考虑这个了。这不仅是个坏主意,而且远远超过了你目前的技能水平,如果你不特别小心的话,你很可能会破坏你的邮件服务器。相信我,我有一个非常好的合理的方法来做到这一点。但我不能。在cpanel>编辑DNS区域(高级)中,没有要添加的MX选项。我在哪里可以添加它?
    something@notexistingsubdomain.mysite.com
    
    admin@mysite.com
    
    *.yourdomain.com. IN A     1.2.3.4
    *.yourdomain.com. IN MX 10 mail.yourdomain.com