人生100年!生涯エンジニア人生!

楽しいエンジニア人生!

iOS15から始まったiCloud+の「メールを非公開」は返信するとApple IDに使用しているメールアドレスが漏れます(条件付き)

f:id:hideaki_kawahara:20211012155846p:plain

結論

  • 「メールを非公開」で作成したメールアドレスを受信専用するだけならメールアドレスは漏れません。
  • 前提条件がありますが、受信したメールから返信すると、メールヘッダーからApple IDに使用しているメールアドレスが漏れます。

「メールを非公開」試してみる!

今回は、iOS15から開始したiCloud+で「メールを非公開」を使ってみます。
なお、iCloud+とカスタムメールドメインの説明はこちらです。
kawahara-ci.hatenablog.com

プライベートリレーの知られていない機能の説明はこちらです。
kawahara-ci.hatenablog.com

「メールを非公開」は「Apple でサインイン」とは異なる機能です。
support.apple.com

「メールを非公開」と「Apple でサインイン」の違いをまとめましたので、ご確認ください。

Apple でサインイン

  • サイトやアプリの対応が必要です。(対応してないサイトやアプリでは使用できません)
  • サインインするときApple IDのメールアドレスを使用するかメールを非公開にするか選べる。
  • メールを非公開にするときメールアドレスは *@privaterelay.appleid.com になります。
  • サイトにサインインするときに、または対応アプリをインストールするときにメールアドレスが決まる。
  • iOS 13から登場した機能です。
  • iCloud+を利用しなくても使えます。

メールを非公開

  • サイトやアプリの対応は不要です。
  • メールアドレスは *@icloud.com
  • iOS 15から登場した機能です。
  • iCloud+にアップグレードする必要がある。

メールアドレスを発行する

新たにメールアドレスを発行するのは、[設定]-[アカウント]-[iCloud]-[メールを非公開]から行います。
「新しいアドレスを作成する」をタップすると、下の画面が出ます。

f:id:hideaki_kawahara:20211005024154p:plain:w320

「別のアドレスを使用する」をタップすると、他に2つ候補が出てきます。
メモなどを入力して、次へをタップするとメールアドレスが発行されます。

f:id:hideaki_kawahara:20211005024209p:plain:w320

完了をタップしてメニューに戻ります。
実に簡単にメールアドレスが発行されました。

f:id:hideaki_kawahara:20211005024305p:plain:w320

発行したメールアドレスの転送先はApple IDで使用しているメールアドレスになります。

メールをやり取りする

Googleアカウント(Gmail)から、「メールを非公開」で作成したメールアドレスにテストメールを送信します。

f:id:hideaki_kawahara:20211005024320p:plain:w640

上の図はApple IDに使用しているメールアドレスで受信したところです。
送信元(From)は元のメールアドレス(Googleアカウント)から来るのではなく、元のメールアドレスから変換されたicloud.comからとなります。

Googleアカウントから送信したので「Googleアカウント_at_gmail_com_ランダムなシリアル値@icloud.com」というメールアドレスになりました。
そして、転送メールなので送信先(To)は「メールを非公開」で発行したメールアドレスになっています。

余談ですが、この変換されたメールアドレスの仕組みは15年ぐらい前に考案したことあるんですが、特許取っておけばよかったなーと、あははは。

f:id:hideaki_kawahara:20211005024344p:plain:w640

上の図は返信を行うところです。

変換されたメールアドレスに返信すると、iCloud側が変換して元々の送信元にメールを送信するだろうと言うことで返信してみます。
そして、Apple IDに使用しているメールアドレスは隠されたままと信じます。

f:id:hideaki_kawahara:20211005024356p:plain:w640

上の図は元々の送信元のGoogleアカウントでメールを受信したところです。

差出人は「発行したメールアドレス」になっていて、Apple IDに使用しているメールアドレスでは無いです。
問題なさそうかな??

返信したメールを詳細に確認

いやいや、メールっていうのは、メールヘッダーに色々な情報がある!!
メールヘッダーを見ないとスッキリしません!!確認しましょう!!!!
普通のGoogleアカウントで受信したメールのメールソースを確認します。

f:id:hideaki_kawahara:20211005024710p:plain

上の図はメールヘッダーを確認したところです。
あれ??駄目ですね。
Authentication-Resultsの項目にApple IDに使用しているメールアドレスの情報が出ていますね。
DMARC1DKIM2にはApple IDで使用しているメールアドレスのドメインが表示されています。
SPF3にはApple IDで使用しているメールアドレスそのものが表示されています。

このことから、SPFに対応しているメールサーバーから返信するとApple IDで使用しているメールアドレスが漏れてしまうことになります。
DMARCやDKIMに対応しているメールサーバーから返信するとApple IDで使用しているメールアドレスのドメインが漏れてしまうことになります。

なお、DMARCやDKIMSPFに対応していないメールアドレスなら漏れないだろうとは思います。
実際に、DMARCとDKIMに対応したメールサーバーは多くは無いですが、SPFに対応したメールサーバーは国内においては9割を超えているし、GmailやYahooメールやマイクロソフトメールなどの主要なメールサービスではSPFに対応しています。

まとめ

SPFに対応しているメールサーバーから返信するとApple IDで使用しているメールアドレスが漏れます。
DMARCやDKIMに対応しているメールサーバーから返信するとApple IDで使用しているメールアドレスのドメインが漏れます。

受信したメールを返信する用途があるとき「メールを非公開」は使えない機能となります。
返信することが無ければとりあえず使える機能です。

余談ですが、この問題は「Apple でサインイン」からある問題でして・・・そのままかー!というのが正直な感想です。
今までは「Apple でサインイン」という名前でサインイン程度なら良い機能で、うるさく言うつもり無かったけど、今回は「メールを非公開」と堂々と言ってきたので、返信してしまうと非公開とは言い切れないので注意喚起としてブログにまとめました。


  1. DMARCはメールアドレスの不正利用を防止するための仕組みです。

  2. DKIMはメールを送信するとき電子署名を行い、受信者がそれを検証して送信元の改ざんを防ぐ仕組みです。

  3. SPFはメールを送信するドメインが詐称されていないかを検査するための仕組みです。

『PythonとScrapyを使ったWebスクレイピング』を2021年10月1日に刊行!!

説明

2020年の年末にPythonスクレイピングの技術同人誌を頒布しました。

kawahara-ci.hatenablog.com

技術同人誌の内容を大幅にパワーアップして、技術同人誌では6章までだったのを9章まで増やし、技術同人誌では50ページだったのを100ページに増やして、商業誌として出します!
章は1.5倍!ページ数は2倍!増えております。

タイトルは 『PythonとScrapyを使ったWebスクレイピング』です。

表紙は、技術同人誌版では風呂場で撮影した写真でしたが、商業誌ではPythonをイメージした女の子を描いてもらいました。
良く見ると「Pythonロゴの色」になっています。
あと、道具などはScrapyロゴの色と合わせてもらいました。

表紙を描いてくれたα(アルファ)さん、ありがとうございました。

発売日は2021年10月1日です。
電子版 1,600円(税別)、印刷版 2,000円(税別)になります。

nextpublishing.jp

prtimes.jp

書籍のリンク

商業誌版

  1. Amazon印刷版 https://www.amazon.co.jp/dp/484437981X/
  2. Amazon電子書籍https://www.amazon.co.jp/dp/B09GVNZX54/
  3. 楽天ブックス https://books.rakuten.co.jp/rk/03dbcfb9748f350b8f7f9ed56ebeb739/
  4. 紀伊國屋書店 https://www.kinokuniya.co.jp/f/dsg-08-EK-1059652
  5. Google https://play.google.com/store/books/details/?id=DTBEEAAAQBAJ
  6. Reader Store https://ebookstore.sony.jp/item/LT000153910001339409/
  7. BOOK TECH https://book-tech.com/books/d018e9c0-c9b9-4106-bda0-12dfcfcd5265

アフリエイトリンク

Amazon印刷版

Amazon電子書籍

楽天ブックス

iOS15から開始したiCloud+でカスタムメールドメイン(オリジナルのEメールドメイン)を使用する

f:id:hideaki_kawahara:20210924063019p:plain

iOS 15と同時にiCloudiCloud+にアップグレードしました。

iCloud+とは?

iPhoneなどApple製品を使用するときApple IDを作成するとiCloudというサービスが無料で利用できます。
このiCloudというサービスでは5GBのストレージ使えるだけの微妙なサービスですが、50GB,200GB,2TBという追加で有料ストレージプランもあります。
今回、この追加ストレージプランがiCloud+というサービスにアップグレードされました。

support.apple.com

※5GBストレージのiCloudサービスはiCloudのままです。

アップデートされたのは下の4つです。

  • プライベートリレー
  • メールを非公開
  • HomeKitセキュアビデオ
  • カスタムのメールドメイン(オリジナルのEメールドメイン

この中で、プライベートリレーやメールを非公開は、iCloud+を利用している人なら簡単に試せますが、カスタムのメールドメインドメインなどを知っている人じゃないと試せないので試してみました。

メールを非公開についてもブログ書いてますので、こちらも合わせてご覧ください。

kawahara-ci.hatenablog.com

プライベートリレーの知られていない機能の説明はこちらです。
kawahara-ci.hatenablog.com

カスタムメールドメイン(オリジナルのEメールドメイン)とは?

iCloudはメールサービスを行っており、@icloud.comというメールアドレスを使用します。
iCloud+では利用者が所有しているドメイン名を使ってメールサービスをしようとする物です。

iCloud+でカスタムメールドメイン(オリジナルのEメールドメイン)は、5つのドメイン名と各ドメインに3つのメールアドレスを設定できるので、合計で15個のメールアドレスを利用できます。
ファミリー共有していると、各ドメインに4人(自分を合わせると5人)を参加させられるので、合計で75個のメールアドレスの利用ができます。

なお、Appleではドメイン名の提供を行っていないので、ドメイン名を持っていない方は事前にドメイン名を取得してください。

試す条件

  • Apple IDを取得している
  • 2ファクター認証を有効にしている
  • iCloudでストレージプランを契約してiCloud+になっていること(ファミリー共有なら最低1人以上のiCloud+の管理者がいる事)
    • またはApple Oneに契約している
  • 自由に使えるドメイン名を所有している

ちなみに私はiCloudでストレージの追加をして、iCloud+を契約している人になります。

それではiCloud+でカスタムメールドメイン(オリジナルのEメールドメイン)を追加していきましょう!

ファミリー共有

カスタムメールドメイン(オリジナルのEメールドメイン)をファミリー共有で利用したいときは、ファミリー共有にiCloud+を追加する必要があります。

f:id:hideaki_kawahara:20210924043020p:plain:w320

上のようなファミリーと共有済みにiCloud+が含まれていない状態では、カスタムメールドメイン(オリジナルのEメールドメイン)設定中にファミリーメンバーが出てきますが、設定後にはファミリー側はカスタムメールドメイン(オリジナルのEメールドメイン)が利用できませんので気を付けてください。
iCloud+をタップします。

f:id:hideaki_kawahara:20210924045641p:plain:w320

iCloud+を共有をタップします。

f:id:hideaki_kawahara:20210924045659p:plain:w320

完了メッセージが出たら閉じます。

f:id:hideaki_kawahara:20210924045727p:plain:w320

上のように、ファミリーと共有済みにiCloud+が含まれている状態なら、ファミリー側もカスタムメールドメイン(オリジナルのEメールドメイン)が利用できます。

f:id:hideaki_kawahara:20210924045741p:plain:w320

今回は3人でiCloud+を利用する設定にしました。

カスタムメールドメイン(オリジナルのEメールドメイン)設定手順

カスタムメールドメイン(オリジナルのEメールドメイン)設定をiPhoneの設定アプリからしたいところですが、できません。
ブラウザーでしかできないので、ブラウザーを起動しましょう。
せっかくなので、アドレスバーが下に移動した新しいSafariでやってみましょう。

f:id:hideaki_kawahara:20210924050610p:plain:w320
iCloudApple IDでログインしましょう。
iPhoneならFace IDまたはTouch IDでログインできますね。
次にアカウント設定をタップします。

f:id:hideaki_kawahara:20210924050853p:plain:w320
画面遷移したら下の方にスクロールします。
お目当ての「カスタムメールドメイン」(オリジナルのEメールドメイン)があるので「管理」をタップします。

f:id:hideaki_kawahara:20210924051004p:plain:w320

「あなただけ」と「あなたとファミリー」の選択ですが、個人だけで使用するなら「あなただけ」を選択します。
ファミリー共有で使用するなら「あなたとファミリー」を選択します。
今回は「あなたとファミリー」を選択します。

f:id:hideaki_kawahara:20210924051312p:plain:w320

次に所有しているドメイン名を入力します。
今回は「ほげほげ.tokyo」を入力しました。

f:id:hideaki_kawahara:20210924051442p:plain:w320

画面遷移すると、ドメイン名に「ほげほげ.tokyo」が設定されました。
このときiCloudメールに「iCloudメールでドメインを設定する手順」というがメールが届きます。

f:id:hideaki_kawahara:20210924051645p:plain:w320

ここでメールアドレスを入力を要求されますが、引継ぎ用なので新規に設定するときは何も入力せずに「スキップ」します。

f:id:hideaki_kawahara:20210924052147p:plain:w320

ドメインレジストラの設定を更新するの項目が有効になるので「表示」をタップします。

f:id:hideaki_kawahara:20211015113731p:plain:w320

ドメインのレコード設定情報がでてきます。
これを元に、ドメインレジストラの設定を更新と言いたいところですが、MXはPriorityがSPFは引用符が抜けてたりして中途半端です。
このときiCloudメールに「カスタムドメインの設定を完了してください」というがメールが届くのですが、こちらを参考にするのが良いです。
そのまま完了をタップします。

f:id:hideaki_kawahara:20210924053744p:plain:w320

利用しているドメインレジストラで、ドメインのレコード設定を行います。

f:id:hideaki_kawahara:20210924053856p:plain:w320

ドメインのレコード設定が終わったら、セットアップを完了をタップします。

f:id:hideaki_kawahara:20210924054236p:plain:w320

確認をタップします。

f:id:hideaki_kawahara:20210924054329p:plain:w320

設定が完了しました。
このときiCloudメールに「自分用のカスタムメールアドレスを作成しましょう」というがメールが届きます。
続けるをタップします。

f:id:hideaki_kawahara:20210924054541p:plain:w320
デフォルトのiCloudメールのメールアドレスを設定します。
続けるをタップします。

f:id:hideaki_kawahara:20210924054557p:plain:w320
完了をタップします。

メールアドレスの設定

f:id:hideaki_kawahara:20210924054813p:plain:w320
このままではドメイン名を設定しただけなのでメールアドレスがありません。
+をタップしてメールアドレスを追加します。

なお、ファミリー側は各ファミリー側でメールアドレスを追加します。

f:id:hideaki_kawahara:20210924055246p:plain:w320

ドメイン名も含めて入力します。
なお、メールアドレスにハイフンが使用できない仕様です。

f:id:hideaki_kawahara:20210924055411p:plain:w320

上のようになったら、カスタムメールドメイン(オリジナルのEメールドメイン)で利用できるようになります。

カスタムメールドメイン(オリジナルのEメールドメイン)の利用

iPhoneなら、メールアプリで使用できます。

f:id:hideaki_kawahara:20210924055540p:plain:w320

差出人で「ほげほげ.tokyo」を選択します。

f:id:hideaki_kawahara:20210924055653p:plain:w320

テストメールを送信します。

f:id:hideaki_kawahara:20210924055729p:plain:w320

無事にカスタムメールドメイン(オリジナルのEメールドメイン)から届きました。

SPFDKIMは?

f:id:hideaki_kawahara:20210924061127p:plain

Gmailで確認すると、SPF1DKIM2が設定されていました。
SPFはすぐに設定されるのですが、DKIMに関してはiCloudメールサーバーで設定する時間が少々かかるようで、30分ぐらい待つのが良いでしょう。

まとめ

ドメイン名を所有していて、iCloud+で50GBがいちばん安いプランなので月々130円(税込)でカスタムメールドメイン(オリジナルのEメールドメイン)を運用できます。
DKIMの設定付きで月々130円(税込)は安い方に入ります。
個人商店とかでのカスタムメールドメイン(オリジナルのEメールドメイン)とかなら利用価値はあるかと思います。

まあ、追加ストレージを使っているならオマケ機能として悪くないかなーとは思います。


  1. SPFはメールを送信するドメインが詐称されていないかを検査するための仕組みです。

  2. DKIMはメールを送信するとき電子署名を行い、受信者がそれを検証して送信元の改ざんを防ぐ仕組みです。

ワクチン接種予約システムを眺めながら思うこと

f:id:hideaki_kawahara:20210825234414p:plain

コロナワクチン(ファイザー)接種1回目

2021年8月5日(木)に、コロナワクチン(ファイザー)接種1回目をしてきました。

接種後4時間すぎに打ったところの腕に痛みを感じましたが、発熱は無かったです。
翌日(2021年8月6日)も、腕の痛みは継続しましたが、4日目には痛みは無くなりました。
頭痛は、少し感じられる程度でした。
個人差があるものなのですが、私は発熱が無いようです。

2021年8月26日には2回目の接種があり、そのときもこの程度で済むといいなーと思っております。

予約システムについて

自治体によって違いはありますが、私が住んでいる自治体は「SPIRAL ver.1」です。

www.pi-pe.co.jp

こういうのは大抵、URLとかでシステムを判別できるのですが、SPIRALはバージョンが2種類ありURLからは推測できません。

メールから判定する

じゃあ、どうやって判別するか? URLやHTMLソースからは判別出来なかったので、メールヘッダーを確認します。

予約完了のメールのメールヘッダーにUser-Agentが記載してあります。
そこからSpiral/1.13 だということが確認できます。

f:id:hideaki_kawahara:20210806110310p:plain:w400

個人的には言うと、こういう情報を記載するのは「User-Agent」より「X-Mailer」を使いたい派閥です。

一応「標準的な暗号化」を利用しており、STARTTLSなどを利用してる感じです。

f:id:hideaki_kawahara:20210806113913p:plain:w400

また、SPF(Sender Policy Framework)DKIM(DomainKeys Identified Mail)も利用しており、この辺りはきちんと対応しているのは好感が持てます。

f:id:hideaki_kawahara:20210806112225p:plain:w400

FromのメールアドレスがSPIRALのドメインとは異なる物を利用していて、Return-PathもSPIRALのドメインなので、完全に送信専用として使用している感じですね。

返信しても、送信はできるとは思いますが、読まれる保証は無いですね。

以上のことから、予約システムのメール送信側は、世間的一般的なルールで運用しているので迷惑メールに入ることもないでしょう。

サイトがビジーになる以外は、非常にちゃんと作り込んであってよかったです。

実はAPIもある

SPIRALにはAPIもあるんですよね。
SPIRAL ver.1 API リファレンス (1.0)

support.smp.ne.jp

色々とできそうですね、Ver.2は無いのかな?契約しないとリファレンスは見れないのかな?

こういうのを用意しているのは良いですね。

ちなみに、このAPIリファレンスは、APIドキュメントジェネレーターでああるReDocを使用して作られています。

github.com

APIリファレンスを作るときには、ちょっと参考にしてみようっと!

そんな感じで、ワクチン接種予約をしながら予約システムのことを色々と分析してみてみました。

「カジュアル面談のトリセツ」での表紙決定プロセスについて

f:id:hideaki_kawahara:20210729123003p:plain

結論

ぶっちゃけると、私はエヴァンゲリオン脳なので、エヴァンゲリオンのタイトル風に文字を並べました。
さらに、オフライン頒布を前提で、手に持ったときタイトルが隠れにくいようにしました。
そして、株式会社 栄光様のスタンダードセット(オフセットコース)では、納期が1日遅くなるという点が良かったので、単色に文字だけを載せるというを選びました。
あとはできるだけシンプルにという感じにしました。

www.eikou.com

頒布しているのは、こちらになります。
エンジニアのための「カジュアル面談のトリセツ」

bright-system.booth.pm

雑な作りと思われますが、それなりに考えています。
今回、表紙の決定プロセスを簡単にまとめましたので、ご覧ください。

表紙を決める前

表紙を決める前に本のタイトルを決めます。

  • お祈りされないカジュアル面談
  • カジュアル面談徹底解説
  • カジュアル面談の傾向と対策
  • 転職するためのカジュアル面談

これらのタイトル案を出しましたが、カジュアル面談を受ける側目線のイメージが強いので、カジュアル面談を開催する会社側も読んで欲しいということで「取説」という言葉を思い付きました

そうなると、少し前に流行った「トリセツ本」というのが出てきたので、自然と「カジュアル面談のトリセツ」というタイトルになりました。

西野カナ関係ないです。

トリセツ本というをググるとこんな感じです。

f:id:hideaki_kawahara:20210729115212p:plain:w640

次にイメージを決めます

「カジュアル面談」は転職などに近いカテゴリーなので、参考で「転職本」でググります。

f:id:hideaki_kawahara:20210729115449p:plain:w640

この検索結果から分かることは、この手の書籍は「文字だけ表紙が多い」のです。

トリセツ本も文字だけ表紙が多く、タイトルが決まった時点で文字表紙にすることが決まりました。

色とレイアウト

色は、いつも寄稿している親方Projectで頒布している「ワンストップ転職」を参考に、これと同系色にしました。

alchemists.booth.pm

そして、レイアウトはインパクト重視で、エヴァンゲリオン脳なので、それっぽい感じにしました。
凝っても読みにくいのは意味がないのでシンプルに考えました。
そのため「カジュアル面談」を横にし「トリセツ」を縦に配置することで、手に持ったとき隠れにくいようにしました。
そうです、完全にオフラインでの頒布を前提に考えて配置したのです

まとめ

まとめると、こんな感じです。

  • カジュアル面談を開催する会社側も読んで欲しい気持ちでタイトルを決めました
  • 「トリセツ本」の表紙を参考にした
  • 「面接本」の表紙を参考にした
  • エヴァンゲリオンのタイトルっぽいのにした
  • ワンストップ転職の色を参考にした
  • オフラインでの頒布を考慮して手で隠れにくい配置にした
  • 表紙が単色印刷だと納期が1日長くなることも考慮に入れた
  • できるだけシンプルにした