我正在使用 Sendgrid 将电子邮件发送到邮件列表,使用 X-SMTPAPI 标头指定多个收件人。从Sendgrid 文档中“必须包装标题以将行长度保持在 72 以下。”
我正在使用 ActionMailer 发送电子邮件,并使用该headers
方法设置 X-SMTPAPI 标头。为了使行少于 72 个字符,我尝试用逗号+换行符+空格替换每个逗号。例如,
headers["X-SMTPAPI"] = {
:to => ['user1@example.com','user2@example.com','user3@example.com','user4@example.com','user5@example.com','user6@example.com']
}.to_json.gsub(',',",\n ")
我没有在我的标题中获取换行符,而是得到以下内容(来自日志文件)
X-SMTPAPI: {"to":["user1@example.com",=0A "user2@example.com",=0A "user3@example.com",=0A "user4@example.com",=0A "user5@example.com",=0A "user6@example.com"]}
请注意, \n 字符被替换为=0A
. 此序列被 Sendgrid 服务器视为无效而拒绝。
有什么想法可以将正确的换行符放入标题中吗?
编辑:我尝试添加“放置标题”以查看标题中设置的内容。然后就是我发现的
Date: Sat, 13 Apr 2013 18:21:36 -0400
Message-ID: <5169da701cd26_5343fe1776afc50749b4@saunders.mail>
Mime-Version: 1.0
Content-Type: text/plain
Content-Transfer-Encoding: 7bit
X-SMTPAPI: {"to":["user1@example.com",=0A "user2@example.com",=0A
"user3@example.com",=0A "user4@example.com",=0A "user5@example.com",=0A
"user6@example.com"]}
请注意,我添加的换行符仍显示为“=0A”。但似乎有些东西自己添加了包装。这种包装是自动的,并且足以使我的标题行长度不超过要求吗?