【问题标题】:Add unique id to "Reply-To"-header in swift mailer在 swift mailer 的“Reply-To”-header 中添加唯一 ID
【发布时间】:2014-10-05 09:12:38
【问题描述】:

我想设置一个与 github 中类似的消息结构,用户可以通过电子邮件回复或登录到他的帐户。

Github 在回复字段中似乎有一个唯一 ID:

reply+i-39945717-887b26ec5b3de79d00dec7ef29ad308795b85685-6876349@reply.github.com

是否可以使用 swift-mailer 向“回复”标题添加唯一 ID?

邮件服务器如何处理这个问题?

【问题讨论】:

    标签: symfony swiftmailer


    【解决方案1】:

    对于使用电子邮件的responding to,您可以在Reply-To 旁边使用In-Reply-To

    为此,您可以使用此 StackOverFlow 答案: Correct headers for replying and forwarding emails
    总之,您需要使用它的 ID 来跟踪您的消息,并且它的 id 存储在 In-Reply-To 中,这是您可以设置它的方式:

    $headers = $message->getHeaders();
    
    $headers->addTextHeader('In-Reply-To', $previousEmail->getHeaders()->getMessageId());
    

    【讨论】:

      【解决方案2】:

      好吧,为什么不呢?使用 SwiftMailer 设置 Reply-to 非常简单:

      <?php
      
      $message = new \Swift_Message();
      $message->setReplyTo(sprintf(
          'reply+%s@your-domain.com',
          uniqid()
      ));
      

      uniquid() 电话只是举例。在实际代码中,您需要预先保存实体 ID(例如,当您保存它时),然后再从您的模型对象中检索它。

      但是,您需要设置一个邮件检查器来接收您的传入邮件,对其进行解析并转换为数据库上的 CRUD 操作。

      【讨论】:

      • 最后一部分实际上是我坚持的事情。回复字段不是需要电子邮件地址吗?
      • @apfz,好吧,这不是一个有效的电子邮件地址吗?那里允许+ 符号,并且邮件应该由没有+ 符号和后缀的别名接收。
      • 不知道这是允许的。谢谢你。然而 PHP 并没有在加号之后(包括)获取值(它只是修剪它),但为此我会发布另一个问题。
      猜你喜欢
      • 2015-04-10
      • 2015-10-03
      • 1970-01-01
      • 1970-01-01
      • 2018-04-23
      • 2022-08-17
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多