2016年11月20日

メールでポメラへテキスト送信。OSや端末に関係なく送れます。 #DM200

Mail2PomeraSyncimage.png



【目次】
ポメラに送りたいテキストをメール本文に書いて送るだけ。
設定1 Google Apps Scriptの設置
設定2 テストメールの送信とスクリプトのテスト
設定3 フィルタの作成
注意点と制限事項
利用の仕方



ポメラに送りたいテキストをメール本文に書いて送るだけ。


 Windows・Android・ChromeOS・ケータイからでも、OSや端末に送るにはどうしたらいいのか。これは、共通で使える機能を利用するしかありません。専用のアプリもいいけれど、iPhoneじゃないからできないとか、ケータイは使えないというのも面倒です。

 OSも端末も共通して使える機能はメールです。
 ポメラSyncも、GmailのIMAP機能を利用しているのでメールで送るのは余計な手間がかかりません。

 ある条件で送られたメールを、ポメラSyncで同期できる形式に変換する処理しています。

 ポメラSyncの条件は、
 1.From:が自分のアカウント
 2.To:宛先は空欄もしくは自分のアカウント
 3.プレーンテキスト形式のメールである
 4.「Notes/pomera_sync」ラベルが付いてる

 というものです。
 受信メールでも、下書きでも条件を満たしていれば、ポメラと同期できます。

 この条件のときに、一つ問題があるのは3番のプレーンテキスト形式のメールという点です。スマートフォン用のGmailアプリは、HTML形式のメールしか送れません。そこで、HTML形式のメールでも、テキスト本文を抜き出してプレーンテキスト形式のメールを作り直すようにしました。

 名前がないのも何なので、Mail To ポメラSyncということで、「Mail2PomeraSync」としました。

 この仕組みを使うことで、メールで送るだけでポメラにデータを入れることができます。


設定1 Google Apps Scriptの設置


・スクリプトの設置
 まず、メールの処理に使うスクリプトを設置します。
 Googleが提供する、『Google Apps Script』を利用します。
 Googleのプログラミング環境。Gmailのアカウントがあれば無料で利用可能です。


 Googleドライブにアクセスして、ログインしてください。

「新規」ボタンをクリックして、「その他」にある「Google Apps Script」をクリックします。

 スクリプトエディタの画面が表示されます。
「コード.gs」が開いた状態になっていますので、中身を全部消して下記のスクリプトをそっくりそのまま貼り付けます。

スクリプトテキスト
Mail2PomeraSync.txt



Mail2PomeraSync_editor.png



 自分の環境に合わせて、スクリプトの一部を書き換えます。
 Gmailのアドレスは、「+任意の文字列」を組み合わせたエイリアスアドレスが使えます。
 username@gmail.com(元のアドレス)
 username+任意の文字列@gmail.com(エイリアスアドレス)

 任意の文字列の部分はどのように変えても、元のアドレスにメールが届きます。


 エイリアスアドレスにするのは、任意の文字列の部分でフィルタをかけるためです。

 今回は、二つのエイリアスアドレスを使います。
 サンプルでは、次のようになっています。
 メール送信用エイリアス:username+pomera@gmail.com
 ポメラSync用エイリアス:username+Sync@gmail.com


 2行目の「'」で囲まれたアドレスを自分のエイリアスアドレス(ポメラSync用)に書き換えます。

 次に、6行目をメール送信用エイリアスに書き換えます。
「to:(username+pomera@gmail.com)」
 ()の中のアドレスを書き換えます。

 書き換えが終わったら、保存をします。
 四角いアイコンで、マウスを合わせると「保存(Ctrl+S)」と表示されるものです。
 これをクリックします。

・認証と許可
 実行をクリックします。※右向きの三角アイコン
 認証が必要です、というウインドウが出ます。

ninsyou.png


「許可を確認」をクリックします。


 許可画面が表示されたら、「許可」ボタンをクリックします。
kyokaRequest.png



・トリガーの設定
 いつ実行するかのトリガーを設定します。
 丸い時計のようなアイコンをクリックします。
 ※マウスを合わせると「現在のプロジェクトのトリガー」と表示されます。

ProjectTrigger01.png



 時間で定期的に実行する設定を行います。
「時間主導型」
「分タイマー」
「1分ごと」
ProjectTrigger02.png



 エラーが出た場合の通知を設定します。
 ウインドウの右側にある「通知」をクリックします。
ProjectTrigger03.png



 起動失敗時の通知を「今すぐ」に変更します。
「OK」ボタンをクリックします。

 トリガーウインドウの「保存」をクリックします。

設定2 テストメールの送信とスクリプトのテスト


・テストメール送信
 テストメールを送信します。
 宛先をメール送信用エイリアス:username+pomera@gmail.comにします。
 件名に、ファイル名を入れます。
 本文に、テキストファイルの内容を入れます。

 メールを送信します。
 Gmailでメールが届いているか、確認します。このとき、メールは開かないでください。スクリプトの動作条件が、未読のものとなっているため、開くと処理できなくなります。

・スクリプトの実行
 スクリプトエディタのウインドウで、再度「実行」をクリックします。
 先ほど届いた、メール送信用エイリアス:username+pomera@gmail.com宛てのメールがなくなり、自分からポメラSync用エイリアス:username+Sync@gmail.com宛てのメールに変わります。

設定3 フィルタの作成


 Gmailの「設定」を開きます。
「フィルタとブロック中のアドレス」をクリックします。
 ページ下の、「新しいフィルタを作成」をクリックします。
Filter1.png


「From」に自分のGmailアドレスを入れます。(username@gmail.com)
「To」に、フォームで設定したポメラSync用エイリアス:username+Sync@gmail.comのアドレスを入れます。
 ウインドウ下部にある、「この検索条件でフィルタを作成」をクリックします。


GFilterLabel.png

「ラベルを付ける」という項目にチェックを入れて、ラベル選択で「Notes/pomera_sync」を設定します。

 先ほどスクリプトで処理されたテストメールにフィルタが適用されるか確認するために、「1通の一致するメッセージにもフィルタを適用する。」にチェックを入れます。

「フィルタを作成」ボタンをクリックします。

 メールが「Notes/pomera_sync」に入っているか確認してください。
 DM200でポメラSyncを実行して、同期されるか確認しましょう。

注意点と制限事項


・メールアドレスに+が利用できない
 古いPHSやケータイの一部で、メールアドレスに+が利用できないものがあります。ただ、こうした端末は今ではほとんど使われていないので、問題にはならないと思います。
 こうした場合は、スクリプトの検索条件を変更することで対処可能です。

・500通の上限
 スクリプトで処理する際に、Google Apps Scriptの制限により新着の500通のみ対象にしています。一度に大量のメールが届いた場合、制限を超えた部分は処理されないことがあります。

・トリガーの間隔
 記事内では、1分で設定しました。
 これより短い時間は、設定できません。
 また、メールを送ってすぐにポメラSyncを実行しても、メールが処理されていない場合があります。
 メールを送信してから、ポメラSyncするまでに時間が空いてもかまわないのであれば、トリガーの時間を長くしてください。この方が、サーバの負荷が少なくてすみます。


利用の仕方


 メール送信用エイリアス宛てにメールを送るだけです。
 送信者のメールアドレスは、どんなアドレスでもかまいません。自分のアドレスだけではなく、共同作業している仲間からでも受け取れます。
 メールさえ送る機能があれば、ほとんどの端末でポメラへテキストを渡すことができます。

 元のメールは、ゴミ箱に入りますが、30日以内であればゴミ箱から戻すことができます。
posted by Outliner 伊藤 崇 at 17:45| Comment(2) | ポメラ・電子ノート
この記事へのコメント
記事公開、ありがとうございます。
やりたい事が出来るようになりました!
Posted by かあころ at 2016年12月12日 07:21
お役に立てて何よりです。
Posted by Outliner 伊藤崇 at 2016年12月12日 07:37
コメントを書く
お名前:

メールアドレス:

ホームページアドレス:

コメント: