Posted at

jsでメール本文の初期値を設定

More than 1 year has passed since last update.

メールリンクをクリックしてメーラーを起動した際に、

メール件名や本文、BCCが初期値として入力させるには

<a href="mailto:mail@sample.com?bcc=test@sample.com&amp;subject=【メール件名】〇〇について&amp;body=メール本文">パンフレット請求メールを送る</a>

のように、?&amp;で繋いでいく必要がありますが、

メールフォームなどで送信先がページによって変わる際にも

全ページに固定の件名や本文などを追加していくために、共通のJavaScriptで自動挿入する方法をまとめました。

<div class="mail-link">

<a href="mailto:mail@sample.com">メールを送る</a>
</div>

このようなメールリンクに対し、下記のように固定でBCCの宛先・件名・メール本文を挿入します。

メール本文はデータ型で区切り、改行コードを差し込んでいます。

$(function(){

var mailLink = $('.mail-link a');

var lineFeed = "\r\n";
// BCC
var bcc = 'test@sample.com';
// 件名
var subject = '【メール件名】〇〇について';
// 本文
var body = [
'お名前:',
'電話番号:',
'郵便番号:',
'ご住所:',
'その他連絡事項:'
];

var mailto = mailLink.attr('href');
mailto += '?bcc=' + bcc;
mailto += '&subject=' + subject;
mailto += '&body=' + body.join(encodeURIComponent(lineFeed));

mailLink.attr('href', mailto);
});

このメールリンクをクリックすると…

mailer_up.png

出ました! このようなメールが生成されます。

このように、メール内容を複数ページで一括管理したい時などに有効です。