在过去的几个小时里,我一直试图通过sendgrid SMTP服务器使用swiftmailer发送已签名的邮件我成功发送了签名的文本电子邮件但是当我尝试在电子邮件中发送html内容时,sendgrid会更改某些内容并且签名变得无效,任何想法如何转储电子邮件发送前知道出了什么问题?或者如何解决?
PS:我已经禁用跟踪像素,它适用于亚马逊 .
邮件配置:
$this->transport = Swift_SmtpTransport::newInstance($config['host'], 587, 'tls')
->setUsername($config['key'])
->setPassword($config['secret']);
$this->mailer = \Swift_Mailer::newInstance($this->transport);
信息:
$message = Swift_Message::newInstance($subject)
->setFrom(array($from => $from))
->setTo(array($receiver => $receiver));
签名者:
$smimeSigner = new \Swift_Signers_SMimeSigner();
$smimeSigner->setSignCertificate(env("S_MIME_CERT"), [env("S_MIME_KEY"), env("S_MIME_PASS")]);
$message->attachSigner($smimeSigner);
发送:
$sent = $this->mailer->send($message);
1 回答
固定 . 问题是sendgrid使用不同的分隔符,他们将LF替换为CR LF,因此我在发送之前将所有分隔符更改为CR LF