【问题标题】:How do I send an email to different addresses without showing the email address?如何在不显示电子邮件地址的情况下向不同地址发送电子邮件?
【发布时间】:2015-03-04 20:09:45
【问题描述】:

我正在尝试创建一个包含个人列表的网页,在每个人的姓名之后,我将创建一个“电子邮件”按钮,该按钮会将用户引导至允许用户填写其姓名的 PHP 表单、电子邮件地址和其他杂项信息的评论字段,然后单击“提交”按钮向个人发送电子邮件。

我想创建一个 PHP 表单,该表单将根据选择的个人姓名(列表中的个人)进行更新,并将显示个人姓名,但不显示他们的电子邮件地址。这个question 很接近(特别是编辑#1 部分),但我想(a)将电子邮件发送给列表中的特定个人,并且(b)不向用户或机器人显示电子邮件地址将不可避免地扫描页面。这个web page 本质上是我的客户想要做的。

我确实在这里找到了一个问题(我在复制 URL 之前无意中关闭了该问题),其中提到了使用配置文件,但我不知道该怎么做,或者它是否是一个好的解决方案。

【问题讨论】:

  • 这就是所谓的密件抄送(Blind Carbon Copy)或彼此分开发送电子邮件
  • 因为邮件是由服务器发送的,所以邮件地址不需要在网页上,只要用户名或ID就可以得到邮件地址来自后端的数据库。
  • 将人员放入数据库表中——他们的姓名、电子邮件地址等。用唯一值(数字、guid 等[表的主键])标识他们。从数据库中显示他们在网站上的信息,但在电子邮件表单中,只提供他们的唯一 ID。在发送电子邮件之前,使用它从数据库中查找真正的电子邮件。
  • 感谢您的回复。由于某种原因,我没有收到任何通知。该项目再次活跃,这将有很大帮助。

标签: php html forms email


【解决方案1】:

您想创建第三个变量。一个“recipient_id”之类的。这样,您会显示这样的选项

<select name="recipient">
    <?php foreach ($recipients as $recipient){ ?>
    <option value="<?php echo $recipient['id'] ?>"><?php echo $recipient['name'] ?></option>
    <?php } ?>
</select>

然后在后端根据收件人 ID 查找电子邮件。您永远不会以这种方式向客户发送电子邮件。

【讨论】:

    【解决方案2】:
    bool mail ( string $to , string $subject , string $message [, string $additional_headers [, string $additional_parameters ]] )
    

    应该做的伎俩。然后,您可以在脚本中硬编码 $to 并使用“case”来比较收件人姓名与电子邮件地址或将其存储在数据库中,以便您还可以创建一个“管理员”在不知道 PHP 和访问服务器的情况下从列表中添加/删除收件人的脚本。

    【讨论】:

    • 我对这个答案投了反对票,因为 OP 没有表示他们需要帮助发送邮件,只是他们希望隐藏地址。其次,你说“硬编码”地址——有很多人,你建议有一个巨大的if 块,每个人都有一个硬编码的电子邮件吗?这是一个糟糕的解决方案。
    • '取决于人数'是我忘记添加的内容。这就是我提到硬编码或 DB 的原因。问题是如何在不显示电子邮件地址的情况下发送电子邮件。可以使用带有动作“mailto:”的表单来发送电子邮件(但不是使用 PHP)。
    猜你喜欢
    • 2011-12-29
    • 1970-01-01
    • 2010-10-08
    • 2017-09-10
    • 1970-01-01
    • 1970-01-01
    • 2015-04-24
    • 2019-06-05
    • 2013-07-17
    相关资源
    最近更新 更多