让我解释 …
工作流程
邮件服务器接收电子邮件
> 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打印电子邮件的来源并检查差异.
希望可以帮助
更新:
对于前锋:这是完全一样的事情.我刚刚比较了两个标题.
并回答你的更新:你可以把任何你想要的(字符串显然)在一个电子邮件标题.如果您在其中添加未知变量,则垃圾邮件分数不会增长.