MailChimpでタグを結合し、その後Mandrillに公開するメールテンプレートを作成しました。
ご覧のとおり、スクリプトを実行してメールを受信すると、タイトルにMC_PREVIEW_TEXTが表示されます。
MandrillとMailChimpの両方でこのタグを検索しましたが、どちらのテンプレートファイルにも表示されません。
これをメールから削除するにはどうすればよいですか?
私もこれと同じ問題を抱えていました。それは、メールを送信するときに、マージ言語としてハンドルバーを使用しているためです。
MailchimpはMailchimpマージ言語を使用してテンプレートにMC_PREVIEW_TEXT変数を配置しているため、Handlebarを使用すると表示されます。
これを修正するには、Mandrill Settings-> Sending DefaultsでMerge LanguageをHandlebarsに設定する必要があります。
ただし、これを行う場合、Mailchimpでメールを設計するときにMailchimpマージ言語を使用する必要があります。Handlebarは使用できません。
次に、MailchimpからMandrillに送信すると、すべてのマージ変数がHandlebarsに変換されます。
私はこれをMandrillテンプレートエディタで実行していました。
ボディを開いた直後に表示されるこれらの行を単に削除します。
<!--*|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
このマージタグを使用して、カスタムコード化されたキャンペーンでプレビューテキストを生成します。 HTMLの開始<body>タグの直後に| MC_PREVIEW_TEXT |を挿入します。プレビューテキストがキャンペーンの本文に表示されないようにするには、非表示の<span>要素でマージタグをラップします。
<style type = "text/css"> </ script>を見つけてHTMLに追加し、このコードを "style type"値に追加します。
私たちが使用する2つのアプローチがあります:
最後に確認したのは、MC_PREVIEW_TEXT
タグは、MailchimpテンプレートをMandrillに送信するたびに再表示されます。自分に最適なものを選び、将来的にハンドルバーテンプレートを変更するためにマンドリルに固執します。
htmlファイルを開いてctrl+f
、次に|MC_PREVIEW_TEXT|
を使用して、代わりにテキストを検索および置換します
Mandrillにテンプレートを送信するためのMailchimpテンプレートエディターでも同じ問題がありました。また、Mailchimpテンプレートエディタによってhttps://
がhandlebarsタグに追加され、ペイロードのURLからhttps://
を削除することを強制する問題がありました。そこでMC_PREVIEW_TEXT
とURLの問題を修正するために、Firefox拡張機能を作成しました。
https://addons.mozilla.org/en-US/firefox/addon/mandrillchimp/
必要なことは、拡張機能がテンプレート(情報と更新のアクセス許可)を取得および更新できるようにする「特別な」マンドリルAPIキーを作成することだけです。
同じ問題があったため、RORアプリ用の単純なレーキタスクを作成し、| 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 を参照してください。
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コードをメールの本文に挿入します。
これで問題を解決する必要があります....
これは、何人かがそれを行う方法を疑問に思うかもしれません。
MailChimpからIntercomにHTMLテンプレートをエクスポートするときに問題が発生しました。
行番号は異なる場合があるため、HTMLコードをメモ帳/テキスト編集にコピーして検索| MC_PREVIEW_TEXT |
説明付きビデオ 。