我创建了一个电子邮件模板,其中包括在MailChimp上合并标签,然后发布到Mandrill。
当我的脚本运行并且我收到电子邮件时,如您所见, | MC_PREVIEW_TEXT | 出现在标题中。
我在Mandrill和MailChimp上搜索了这个标签,但它没有出现在任何一个模板文件中。
如何从电子邮件中删除此内容?
答案 0 :(得分:7)
我遇到了同样的问题,因为我在发送电子邮件时使用了Handlebars作为合并语言。
Mailchimp使用Mailchimp合并语言将MC_PREVIEW_TEXT变量放入模板中,因此如果您使用Handlebars,它会显示出来。
要解决此问题,您必须在Mandrill设置中将合并语言设置为句柄 - >发送默认值。
但是当你这样做时,你必须在Mailchimp中设计电子邮件时使用Mailchimp合并语言,你不能使用Handlebars。
然后当您从Mailchimp发送到Mandrill时,它会将所有合并变量转换为Handlebars。
答案 1 :(得分:7)
只需删除身体开口后出现的这些线条:
<!--*|IF:MC_PREVIEW_TEXT|*-->
<!--[if !gte mso 9]><!----><span class="mcnPreviewText"
style="display:none; font-size:0px; line-height:0px; max-height:0px; max-width:0px; opacity:0; overflow:hidden; visibility:hidden; mso-hide:all;">*|MC_PREVIEW_TEXT|*</span>
<!--<![endif]-->
<!--*|END:IF|*-->
要了解有关此合并标记的更多信息:
https://kb.mailchimp.com/merge-tags/all-the-merge-tags-cheat-sheet
使用此合并标记以自定义编码生成预览文本 运动。在开幕之后插入 | MC_PREVIEW_TEXT | &lt;身体&gt; HTML中的标记。确保预览文本在正文中不可见 在您的广告系列中,将合并标记包装在隐藏的&lt; span&gt;元件。
找到或添加&lt; style type =&#34; text / css&#34; &GT; &LT; / script&gt;到您的HTML, 并将此代码添加到&#34;样式类型&#34;值:
答案 2 :(得分:4)
There's two approaches we use:
Last I checked, the ConstraintLayout
tag will reappear each time you send your Mailchimp templates to Mandrill. Pick what's best for you and stick to Mandrill for modifying Handlebars templates in the future.
答案 3 :(得分:1)
我们遇到了与Mailchimp模板编辑器相同的问题,用于向Mandrill发送模板。此外,Mailchimp模板编辑器将https://
附加到车把标签上,这迫使我们从有效负载中的网址中删除https://
。因此,要修复MC_PREVIEW_TEXT
并使用网址问题,我创建了一个Firefox扩展程序。
https://addons.mozilla.org/en-US/firefox/addon/mandrillchimp/
您唯一需要做的就是创建“特殊”Mandrill API密钥,它允许扩展来获取和更新模板(信息和更新权限)。
答案 4 :(得分:1)
打开html文件,然后打开ctrl+f
,然后使用|MC_PREVIEW_TEXT|
搜索并替换您的文本
答案 5 :(得分:1)
我们遇到了同样的问题,因此我为ROR应用编写了简单的rake任务,该任务删除了| MC_PREVIEW_TEXT |从Mandrill模板中自动删除。这是我耙任务的一个示例:
require 'mandrill'
namespace :mandrill do
desc 'Removes *|MC_PREVIEW_TEXT|* section for all email templates in mandrill app'
task remove_mc_preview_text: :environment do
# Templates with handlebars merge language
templates = [
'template-example-1',
'template-example-2',
]
mandrill = Mandrill::API.new 'YOUR_API_KEY'
templates.each do |name|
begin
puts "Processing the template: #{name}"
# Get the information for an existing template
result = mandrill.templates.info name
# Finds the section with MC_PREVIEW_TEXT inside a template and substitutes it to the empty string
code = result['code'].sub(/\<\!\-\-\*\|IF:MC_PREVIEW_TEXT[[:ascii:]]+END:IF\|\*\-\-\>/m, '')
# If nil is provided for any fields, the values will remain unchanged.
from_email = nil
from_name = nil
subject = nil
text = nil
labels = nil
# Set to false to update the draft version of the template without publishing
publish = true
# Update the code for an existing template
mandrill.templates.update name, from_email, from_name, subject, code, text, publish, labels
puts "Successfully deleted *|MC_PREVIEW_TEXT|* section from the template: #{name}"
rescue Mandrill::Error => e
# Mandrill errors are thrown as exceptions
puts "A mandrill error occurred: #{e.class} - #{e.message}"
end
end
puts 'Done!'
end
end
只有几步可以使它起作用:
gem install mandrill-api
或添加到您的Gemfile中:gem 'mandrill-api'
templates
数组中的模板名称更改为真实的模板,如果由于某种原因您不知道它们,可以在https://mandrillapp.com/templates 最后在rails应用的根文件夹中运行以下命令:
bundle exec rake mandrill:remove_mc_preview_text
如果您使用任何其他编程语言,您都可以以my为例编写类似的脚本,请参见Mandrill API Clients了解不同的编程语言。
答案 6 :(得分:0)
预览文本是预表头文本,将在填充时显示。根据经验,我看到合并标签出现在测试中。你可以做两件事:
答案 7 :(得分:0)
这可能有助于你们中的一些人想知道如何去做。
将MailChimp中的HTML模板导出到内部通信时遇到了问题。
行号可能不同,因此请将HTML代码复制到记事本/文本编辑中并搜索 | MC_PREVIEW_TEXT | 以找到它
答案 8 :(得分:0)
从您的html代码中删除以下行:
<span class="m_-63420320203924518mcnPreviewText" style="display:none;font-size:0px;line-height:0px;max-height:0px;max-width:0px;opacity:0;overflow:hidden">*|MC_PREVIEW_TEXT|*</span>
在此之后,将html代码插入邮件正文中。
现在您的问题应该解决了....