FileMakerからメールを送信する手段として、「メールを送信」ステップでメールを送れるのはみなさんご存知だと思います。
その他、「URL を開く」でcurlを使って送信する方もいらっしゃいます。
どちらがどう、というのはまずは脇に置いておき、「メールを送信」ステップを使ってgmailを送る際の実装についてです。
正しくは、「googleのSMTPサーバーを経由してメールを送るやり方」、でしょうか。
ブラウザから検索窓にて
"filemaker smtp gmail"
とキーワードを入れて検索すると、たくさんのTipsが出てきますので、あえて書く必要は、、、と思いましたが、備忘録観点と、「インプットしたらアウトプットせよ」と、はるかかなた向こうのどこかにいる師匠の教えに則り、ここに記事を残します。(大袈裟)
準備
必要なもの
まずは、googleアカウントがなければ、アカウントを作成します。
gmailアドレス
gmailアドレスを準備します
通常は、gmail.comとドメインのあるメールアドレスですね。
アプリパスワードを発行する
こちらは聞きなれない言葉かもしれません。
gmailアドレスでメールボックスへログインするパスワードではなく、「え、アプリに「Google でログイン」機能がないの!?あ、2段階認証プロセス使える?なら、仕方ないなぁ、これ使ってよ」と勝手に過大解釈しましたが、要は、何かしらアプリケーションからgmailを送信する際のパスワードと思ってください。
ただし、「仕方ないなぁ」なので、可能ならOAuthとかで認証するAPIでの通信が望ましい、という感じだと思ってます。
堅牢なシステムを構築したり、メーリングリストを配信するなど大量のメールをさばきたいなどの場合は、別の方法を検討してください。
アプリパスワード方式は、メール以外にも、用途としてカレンダーなどもありますので、用途ごとにアプリパスワードを発行します。
やり方についてはFileMakerに限らずいろんな方が解説してくれているので、ここではサクッと解説するのみとします。
アプリパスワードは2段階認証がオンのアカウントのみ利用できます。
2段階認証がオンになっていない場合は、オンにしてからアプリパスワードを発行してください。
SMTPサーバー情報
送信SMTPサーバ:smtp.gmail.com
ポート番号:465 587
接続の暗号化:SSL TLS
@Hi_Noguchi さんから、ポート番号と接続の暗号化についてアドバイスをいただきました。ありがとうございます!
SendGridのこちらのサイトに詳しく書いてあるので、合わせて参考にしてください。
https://sendgrid.kke.co.jp/blog/?p=12945
実装
では、実際にFileMakerからメールを送りたいと思います。
1行で済みます。
テスト
この1行を実行してメールが届くか確認します。
はい、届きました。
アプリパスワード方式を使うことの安全性は?
アプリパスワード方式は、googleに限らず、Microsoft Outlookなどでも使われている方式ですが、いずれも「2段階認証がサポートされていないアプリやデバイスでセキュリティが堅牢ではないけど代用する方法」という位置付けのようです。
運用上管理者しか見えない仕組みにしたり悪用されない仕組みを実装して、可能な限り安全に運用していく形で実装しましょう。
基本的にはGoogleではアプリパスワードによるログインは非推奨で、よく見かける「Googleでログイン」によるログインでログインしてください、となっています。
ただ、システムの自動化という観点からは、実装の方法によっては「Googleでログイン」画面が表示されてもログインできない、ということもあるので、アプリパスワード方式、もしくはより認証のハードルが高いOAuth、APIでの認証を実装した方がよいと思います。
まー、そうは言っても、OAuthとかハードル高いと思っちゃいますよね。
でも、仕組みとしてはどこでも使える仕様なので、一度OAuth認証を実装すると次も同じように実装できますので、アプリパスワード方式でメール送信に自信がついたら是非ともOAuth認証実装にもトライしてみてください!