php – 用于回复和转发电子邮件的正确标题

你是那位知道电子邮件的程序员吗?你可以梦想着邮件头,用你的眼睛闭上吗?也许你可以帮我解决这个问题.

让我解释 …

工作流程

邮件服务器接收电子邮件
> PHP cronjob将所有从IMAP的电子邮件导入MysqL数据库
>用户在我的应用程序中的收件箱中查找所有电子邮件

发送电子邮件

在同一个应用程序中,用户可以发送新的电子邮件.我已经处理了使用以下代码片段.

$message = \Swift_Message::newInstance()
    ->setSubject($form->get('subject')->getData())
    ->setFrom('me@example.com')
    ->setTo($form->get('to'))
    ->setBody(
        $this->renderView(
            'MailBundle:Email:contact.html.twig',array(
                'ip' => $request->getClientIp(),'name' => $form->get('to')->getData(),'message' => $form->get('message')->getData()
            )
        )
    )
;

这工作正常如果提交上述电子邮件,我将在IMAP发送的文件夹中创建一个新的电子邮件.这个转而由PHP cronjob导入并放入MysqL数据库.它显示在我应用程序中发送的文件夹中.

问题

现在你有一个一般的想法我的应用程序的工作原理,我有一些我不太清楚的事情.

>如何使用SwiftMailer创建对导入的电子邮件回复.
>如何使用SwiftMailer转发导入的电子邮件

我想使用我的应用程序作为一个真正的邮件客户端,并希望邮件头等被正确设置.

我当然可以发送一封电子邮件与原始的邮件正文和题目前面加上“RE:”.但我不知道是否这样.我以某种方式怀疑我需要做更多的事情.

简而言之

如何使用SwiftMailer来回复或转发保存在数据库中的电子邮件

更新

我按照这个问题的答案中的建议实施了回复标题.我不知道这是否也适用于转发.我只是想确保邮件提供商不会阻止我的电子邮件,因为标题是不正确的.

我比较了“第一”电子邮件回复间的标题差异.

要做回复,您似乎必须在回复标题添加两行:

> In-Reply-To:[Message-ID](在第一封邮件标题中找到Message-ID)
>参考文献:[Message-ID]

显然,你必须从回复电子邮件中更改. (我认为SwiftMailer自己创建别人)

要使用SwiftMailer在电子邮件标题添加行,请按照以下步骤操作:

$headers = $message->getHeaders();

$headers->addTextHeader('In-Reply-To',$prevIoUsEmail->getHeaders()->getMessageId());

这个吸气剂我只是想象你的电子邮件实体.

对于前进,juste打印电子邮件的来源并检查差异.

希望可以帮助

更新:

对于前锋:这是完全一样的事情.我刚刚比较了两个标题.

你必须添加回复和引用.

并回答你的更新:你可以把任何你想要的(字符串显然)在一个电子邮件标题.如果您在其中添加未知变量,则垃圾邮件分数不会增长.

相关文章

统一支付是JSAPI/NATIVE/APP各种支付场景下生成支付订单,返...
统一支付是JSAPI/NATIVE/APP各种支付场景下生成支付订单,返...
前言 之前做了微信登录,所以总结一下微信授权登录并获取用户...
FastAdmin是我第一个接触的后台管理系统框架。FastAdmin是一...
之前公司需要一个内部的通讯软件,就叫我做一个。通讯软件嘛...
统一支付是JSAPI/NATIVE/APP各种支付场景下生成支付订单,返...