php - 在 PHP 中处理发往多个收件人的传入邮件

标签 php email postfix-mta dreamhost

好的,这可能需要一两分钟来解释:

我正在努力创建一个电子邮件<>SMS 桥(如 Teleflip)。我有一些设置参数可以使用:

  • Dreamhost 虚拟主机
  • PHP 5(没有 PEAR)
  • 后缀
  • MySQL(如果需要)

我现在拥有的是一个万能的电子邮件地址,用于转发发送到 shell 帐户的电子邮件。 shell 帐户又将其转发到我的 PHP 脚本。

PHP 脚本读取它,剥离一些电子邮件 header 以确保它正确发送,然后将其转发到指定为收件人的号码。 5551234567@sms.bridge.gvoms.com 当然会发送短信到 +1 (555) 123-4567。

这非常有效,因为我正在解析“收件人”字段并仅获取它要发送到的电子邮件地址。但是,我意识到我没有考虑到多个收件人。例如,发送至 5551234567 和 1235554567 的电子邮件(使用收件人行、抄送行或它们的任意组合)。

当然,电子邮件的工作方式是,我收到两封电子邮件,最终分别解析每封电子邮件,而 5551234567 最终收到相同的消息两次。

如何处理这种情况最好的方法是让TO和CC中指定的每个号码都能得到一份消息。

此外,尽管我怀疑它的可能性:有没有办法以同样的方式处理密件抄送?

最佳答案

如果您检查邮件的标题,您应该找到一个 Message-ID 字段(根据 RFC2822 - section 3.6.4 )。因此,您可以测试您是否已经为具有相同 Message-ID 和电话号码的邮件发送了 SMS,以防止向同一号码发送相同的消息两次。

关于php - 在 PHP 中处理发往多个收件人的传入邮件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2545307/

相关文章:

c# - 使用 Gmail 设置发送电子邮件时出现问题

ios - 如何查看 MFMailComposeViewController 的邮件正文?

java - 将电子邮件从 postfix 转发到 java 应用程序

ubuntu - 一些暴露的 Docker 端口无法从外部访问(dovecot、postfix)

php - 如何在docker中分离ffmpeg和php容器

php - 有没有一种方法可以在不按提交按钮的情况下自动触发提交?

ios - 使用 mailcore (iOS),我怎样才能从特定的电子邮件地址获取所有电子邮件?

java - 为什么我会收到 java.net.ConnectException : Connection refused?

php - 回显 sql 行作为页面 url

php - mysql根据另一个表将序列更新到一个表中