LoginSignup
9
9

More than 5 years have passed since last update.

ローカルHTMLとメーラーを連動してみる

Posted at

はじめに

フレックスを前倒しに使う為、早い時間に出社し、早い時間に帰る
特に早起きに抵抗を感じない私としては、電車の混まない時間に移動出来るのは
非常に便利に使っている制度です。

ところが、大雨、大雪などの天候不順、人身事故による電車遅延などが発生すると
社内に電話が鳴り響き、「出社遅れます」などの電話をとるのは影響の出ない時間に
出社している私となり、その度に関係各所にメールを出すという余計な業務が
増えたのも事実です。

長い前置きすみません、というわけで、メールのテンプレとか作っちゃえばいいんじゃね
となり、最初はメーラーで考えていたんですが、いろいろと構想が広がり
ローカルHTML+JavaScriptで作成ということになりました。

mailtoスキーム

最近、ブラウザメールを使っていて、メーラーなんて会社のPCでしか使わなくなったなぁ
などと思いながら、HTMLからメーラーが起動する方法をちゃんと調べてみたところ
mailtoスキームってちゃんとIANAとかに登録されており、RFC2368に規定されていました。

いくつか形式があるのですが、以下の形で、送信する事にしました。
mailto:?to={送信先メールアドレス}&subject={タイトル}&body={本文}

HTML

とりあえず、作成してみます。

<!DOCTYPE html>
<html>
<head>
    <meta charset="utf-8">
    <title>メール作成</title>
    <style>
        * {font-family: monospace}
    </style>
    <script>
        function init() {
            document.getElementById("createbtn").addEventListener("click", createEmail, true);
        }
        function createEmail() {
            var toaddr = document.getElementById("toaddr").value;
            var subject = document.getElementById("subject").value;
            var body = document.getElementById("body").value;
            location.href = "mailto:?to=" + encodeURIComponent(toaddr)
             + "&subject=" + encodeURIComponent(subject) + "&body=" + encodeURIComponent(body);
        };
        window.onload = init;
    </script>
</head>
<body>
    <table>
        <tr><td>宛先</td><td><input id="toaddr" type="text" value="サンプル <sample@email.com>" size="50" /></td></tr>
        <tr><td>件名</td><td><input id="subject" type="text" value="○○さん、遅刻" size="50" /></td></tr>
        <tr><td>本文</td><td>
<textarea id="body" cols="50" rows="10">
関係各位

○○さんが、電車遅延により、□□時に出社予定です。

以上
</textarea></td></tr>
        <tr><td colspan="2"<td><button id="createbtn">作成</button></td></tr>
    </table>
</body>
</html>

単純に、「宛先」「件名」「本文」を取得し、「mailto」スキーマに流しこむだけの
簡単なサンプルです。

さいごに

今回はここで終わりとしますが、「件名」や「本文」の「○○」部分を置換できないかなぁとか
履歴とか残せないものかなぁと悩むわけです。

この記事に需要があるとは思えないわけですが、まずはここが起点だったので投稿してみました。

つづく

9
9
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
9
9