09:00カテゴリ:技術こんにちは、技術開発室の滝澤です。技術開発室の基盤システム担当チームで電子メールプロトコル勉強会を開催したので、その概要について紹介します。この記事ではプロトコルの内容についてではなく、どのようなことを行ったかを紹介します。どのRFCを調べてもらったかについてはおまけに掲載しましたので、もしメールプロトコルについて学習したい人や組織の参考になれば幸いです。先月(2022年11月)に技術開発室の基盤システム担当のメンバーで自社のメールサーバーの構築・移設を完了させました。メンバー構成としてはベテラン1人(わたし)と中堅1人と新人2人です。メールサーバーに関しては、わたし以外のメンバーは運用のみ経験があるか、構築・運用経験が全くないようなメンバーでした。そのため、この移設プロジェクト開始時の最大の課題は、メンバーへの電子メール(以降、単にメールと呼ぶ)に関する技術移転と技術習得でした。メール関連のシステムの構築やツールの開発も必要であったため、メールプロトコルの習得が必要な状況でした。下記のメモは本プロジェクト開始の3か月前(2021年12月時点)に技術移転について検討していたときのものです。社内のメール関連技術の技術移転のために、メールサーバー・メールプロトコル入門を書く。出版物としては10年以上メールサーバーやプロトコル関連の入門書は出版されていない。送信ドメイン認証技術や迷惑メール対策技術については皆無であり、ウェブ上には廃止になった情報が普通に転がっており、ウェブで適当に検索して調べる学習は害が生じかねない状況である。「メールサーバー・メールプロトコル入門を書く」というのは稼働的に無理であることはわかっていたので、結局はメンバーが自分たちで調べて勉強することになりました。その概要についてこのブログ記事で紹介します。実施方法:それぞれのRFCや文書に対して担当を割り当てて、各自でまとめてもらって発表してもらう利用ツール:翻訳ツールを使ってもかまわない何もないところから学習をするのは難しいし効率的ではないため、きっかけと全体像と道しるべを示す必要がありました。そのため、まず最初に以下のことをわたしの方で説明しました。実施項目は以下のとおりです。詳細は最後のおまけに掲載します。ベストプラクティスM3AAWGのベストプラクティスこの実施項目について担当を割り当てて、各自でまとめてもらって発表してもらいました。スケジュールの関係ですべてを実施したわけではなく、一部は省きました。拡張編』においては日本語対応と国際化のみを行いました。セキュリティー編』の『メールの暗号化・デジタル署名』は省きました。わたし自身はアドバイザーとして、発表内容について、RFCではこのように記述されているけど実際はこうなんだとか、後に発行されたRFCでこの内容は変更されているとかを補足しました。この勉強会の裏テーマとして、次のものがありました。一次情報を調べる習慣を付けるプロトコル仕様を読めるようになる英語の情報を調べることに対する抵抗感を無くす英語が苦手なメンバーもおり、翻訳ツールを利用しても全くかまわないことは伝えました。翻訳が間違っていることもある点には注意して欲しいとも伝えました。感想1IMAP(RFC9051)がかなり長くて大変だったが、そのおかげで他のRFC、RFC以外の英語ドキュメントを読むことへの抵抗がかなり減ったメールを受け取ったときの挙動に対して、思いの外色々な要件があるのを知って学びになったただメールサーバーを運用するだけでも、気をつけなければいけないことが多い翻訳機の翻訳精度がまだ微妙だなと感じた翻訳サイトを複数(Google翻訳,Deepl,weblio翻訳)使って、自分でも翻訳して読まないと変だなと思う部分が多々あった勉強会の終盤や実運用時に「ここメール勉強会でやったところだ!」となれたのは楽しかった感想2メール運用の大変さがわかった。途中参加かつ関連する全てのRFCを読んだ訳ではないのにかなり大変だった。世の中で使われている技術がどうやって標準化されているのかとその苦労を感じられてよかった。勉強会を始めてからしばらくはみんな大変で辛そうだったのですが、次第に慣れてきて、英語の文章を読む抵抗感はなくなってきたのを感じられました。裏テーマの成果が出ていました。最後に普通に考えると無茶な勉強会ではありましたが、何とかやり遂げられました。その成果として、メール関連のシステムやツールの開発もでき、メールサーバーの移設も無事に完了しました。「メールシステムの概要」で説明に利用した図を紹介します。最後に実施した項目について紹介します。株式会社ハートビーツの技術情報やイベント情報などをお届けする公式ブログです。こちら「みんな仲良く」「プライドを持って」「変化を楽しむ」という企業理念に共感していただけるエンジニアを募集しています。