【问题标题】:One email to forward to multiple email addresses一封电子邮件转发到多个电子邮件地址
【发布时间】:2013-07-29 14:50:43
【问题描述】:

我希望创建一封电子邮件 (example@domain.com) 以转发到数据库中的所有电子邮件地址。

人们可以向 example@domain.com 发送电子邮件,然后该电子邮件将被发送到预定义的电子邮件地址列表。它需要包括对附件的支持。

我意识到这根本不安全,因此将此电子邮件地址开放给任何人使用,但这是我们组织希望做的事情。

在 PHP 服务器上执行此操作的最佳方法是什么?

谢谢。

【问题讨论】:

  • 我认为你宁愿设置一个邮件列表/邮件别名,让邮件服务器处理它。
  • 这可能更容易通过邮件转发服务完成。如果您确实需要从数据库更新此列表,请使用 postmarkapp 或一些电子邮件接收服务在收到电子邮件时调用您的服务器

标签: php email sendmail pear email-forwarding


【解决方案1】:

这可以在 PHP Server 中实现,因为您必须深入了解以下内容:

  • 电子邮件管道

  • 电子邮件标题

  • MIME 电子邮件附件

  • 邮件列表管理

【讨论】:

    【解决方案2】:

    虽然以您提到的方式向很多人发送电子邮件并不是一个好主意......

    你可以使用PHP的“邮件”功能:

    $to      = "user1@domain.com, user2@domain.com"; //(Comma separated list of emails)
    $from    = "noreply@domain.com";
    $subject = "Hello";
    $message = "Hello there!";
    
    $headers = "From: ".    $from . "\r\n".
               "Reply-To: ".$from . "\r\n";
    //send it
    mail($to, $subject, $message, $headers);
    

    【讨论】:

      【解决方案3】:
      while($row = mysql_fetch_array($emails))
      {
          $addresses[] = $row['address'];
      }
      $to = implode(", ", $addresses);
      

      然后使用邮件功能发送邮件... mail($to, $subject, $message, $headers);

      【讨论】:

        【解决方案4】:

        您对查询的表述方式有点令人困惑,但您似乎有一个托管服务器,它将接收到域电子邮件的电子邮件。然后,您希望将这些电子邮件自动转发到收件人列表。看起来您想调查(假设您提到 sendmail)linux 邮件服务和自动转发。您可能正在查看 postfix 并可能使用 procmailrc 来捕获和重定向服务器上的传入邮件。

        我以前用 procmailrc 做过这个,但这真的取决于处理传入邮件的服务。

        按照@George 的建议调用CLI PHP 脚本然后从数据库中读取您的收件人并进行发送没有问题。

        【讨论】:

          【解决方案5】:

          虽然 Arthur 的回答是有道理的,而且很可能会奏效,但我最终发现我的主机拥有我一直在寻找的功能。对于那些想知道的人,它被称为discussion lists

          【讨论】:

            猜你喜欢
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 2011-07-14
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            相关资源
            最近更新 更多