【问题标题】:Swiftmailer adds line breaks to text/plain templateSwiftmailer 为 text/plain 模板添加换行符
【发布时间】:2016-11-29 09:18:10
【问题描述】:

我正在使用 contract.txt 作为文本/纯电子邮件的模板:

Eine Bestellung wurde gesendet: Vertragspartner:{contract.formData.customer} Zweiter Vertragspartner:{contract.formData.secondCustomer} 附注: {contract.formData.address} {contract.formData.zipCity} ...

这是由standaloneView 渲染的,它生成以下字符串:

Eine Bestellung wurde gesendet: Vertragspartner: Herr Max Mustermann (11.11.1991) Zweiter Vertragspartner: Nein 附注: 霍尔茨维格 13 霍尔茨维格 13 90909 比勒费尔德 ...

这是预期的结果。
但是,当我调用 setBody($message, 'text/plain'); swiftmailer 时,会在消息中插入新的换行符和 =

Eine Bestellung wurde gesendet: Vertragspartner: Herr Max Mustermann (= 11.11.1991) Zweiter Vertragspartner: Nein 附注: Holzweg 13 何= 13 号 90909 比勒费尔德 ...

看起来 swiftmailer 试图强制执行 76 个字符的行限制,而不考虑现有的换行符,之后仍然存在。
然而,对类似问题的回答表明这个问题很久以前就已经解决了。

这是我在 TYPO3 Neos 插件中使用 SwiftMailer 5.4.2 创建电子邮件的代码:

$standaloneView = new StandaloneView();
$standaloneView->setTemplatePathAndFilename('resource://[...]/Contract.txt');
$standaloneView->assign('contract', $contract);
$message = $standaloneView->render();

$mail = new Message();
$mail->setFrom([$formData['email'] => $formData['lastname']])
  ->setTo([
    $this->request->getInternalArgument('__mailRecipientAddress') => $this->request->getInternalArgument('__mailRecipientName')
  ])
  ->setSubject($this->request->getInternalArgument('__mailSubject'))
  ->setBody($message, 'text/plain');

必须做什么才能让 SwiftMailer 识别我现有的换行符?

【问题讨论】:

    标签: php swiftmailer fluid


    【解决方案1】:

    我找到了一种防止此错误的方法,但它并没有解决它。

    standaloneView 使用LF (\n) 为换行符呈现模板,而setBody() 尝试将所有换行符标准化为CRLF (\r\n),但显然失败了。

    所以我只是使用str_replace() 自己完成了这项工作。消息现在由

    定义
    $message = str_replace("\n", "\r\n", $standaloneView->render());
    

    而不是$message = $standaloneView->render();

    我很确定,有更好的方法来解决这个问题,但是这修复了我的电子邮件,所以我把它留在这里。

    【讨论】:

      猜你喜欢
      • 2017-03-05
      • 2014-02-14
      • 2019-07-27
      • 1970-01-01
      • 1970-01-01
      • 2014-11-09
      • 1970-01-01
      • 2015-08-11
      相关资源
      最近更新 更多