サイト運営

    LINEメッセージをメール転送するサービスを作ってみたよ

    LINEメッセージをメール転送するサービスを作ってみました。
    LINE BOTに話しかけると、予め登録したメールアドレスにメッセージを転送してくれるサービスです。

    なぜそんなシステムを作ったのか?

    Google Cloud Platform や、案件は年収1000万円越えともいわれるGo言語の学習も兼ねてですが、一番は自分がほしかったからです。
    実はえなこいんの働いている職場が、地下に引っ越しましてケータイの電波が入りにくくて、緊急のLINEメッセージが受け取りづらいのです。

    そこで家族には、緊急の要件があるときはLINE BOTに話しかけてもらって、メールをPCに送ってもらう手はずにしました。
    え、直接メールを送ればじゃないか?
    それは面倒だそうです(^-^;

    システム構成 ver1

    Google Clound Functionsは常時起動のサーバーなしに、関数だけサーバーに配置(デプロイ)しておくと、いざアクセスが来た時に実体化されるサーバレスと呼ばれるサービスです。
    今回関数はgo言語で書きました。

    LINEのメッセージがくると、HTTPSでアクセスがその go の関数に行きますので、その度に実体化され、処理がされます。

    go側で、メッセージの送信元のIDを見て関連付けたメールアドレスにメール送信します。

    メール送信は goからやろうとしたのですが、手元に自由に使えるメール送信サーバー(SMTPサーバー)がなかったので
    第一弾では、Googole App Script (GAS)のメール送信関数を使ってメールを送らせることにしました。

    システム構成 ver2

    Ver2は、自分用ではなく、みんなが使えるように改造しました。

    GASだと、メール送信部が、わたしのgmailから送信となってしまうのと1日の枠があるので、ver2からはメール送信部を改修しました。
    Sender Grid というメール配信サービスを利用させていただきました。
    ここからだと無料で、独自ドメインからでもかなり多くのメールアドレスを送れます。
    少し審査がありましたが、メールに色々画像を貼り付けて、ドメインが自分のものと主張しましたw

    また、LINE IDとメールアドレスを突き合わせるデータベースに、Google Fire Store を利用しました。

    終わりに

    ということで、自分のほしいものがこの世にない!
    という時に役立つプログラミングでした。

    LINE Messaging API
    go言語 + Google Cloud Functions(サーバーレス)
    Google Fire Store (リアルタイムデータベース)
    GAS スクリプト
    Sender Grid(クラウドメール配信サービス)

    と、モダンな開発にチャレンジして無事成功しました。

    また、自分だけでなくても使えるようにしていますので、試しに使ってみたいという方はご一報ください。

    ではでは!