Stack Map新人 Web エンジニアの地図

メールは、いくつものサーバーを渡って届きます。途中で「本物か」を確かめられ、確かめられないと、迷惑メールに入ったり、戻ってきたりします。
勤怠のアプリの「承認しました」の知らせを例に、押して試しながら一段深く見ます。考え方のヒント の印は、出典のない考え方や、練習のための作り物です。

なぜ届かないことがあるか

Laravel でメールを送る基本はよくある機能の作り方「メールを送る」にあります。ここでは、送ったあとに何が起きるかを見ます。

戻ってきたエラーを読む 行を書きかえるか、例を押してください

送ってから届くまで

メールは、係(MUA・MSA・MTA・MDA)を順に渡って届きます。渡す先は、DNS の MX の記録で決まります。レコードの種類と dig はネットワーク「DNS の深掘り」に、DNS をどこで変えるかはドメイン「どこで何を変える?」にあります。

1 歩ずつ見る 送信サービスとドメインは作り物です

封筒と中身(エンベロープとヘッダー)

SPF・DKIM・DMARC の中身

3 つの記録の置き方はよくある機能の作り方「迷惑メールにしないための、DNS の 3 つの記録」にあります。ここでは、受け取る側がどう判定するかを、道具で試します。

SPF を判定する

DKIM の署名

DMARC を判定する

ヘッダーの読み方

「届かない」「迷惑メールに入った」と言われたら、受け取った側のメールのヘッダーを見せてもらいます。3 つの例で読んでみてください。

届くようにする

Gmail・Yahoo・Outlook.com は、送る側に守ってほしいことを公開しています。今の設定を選ぶと、足りない所が分かります。

送信者のガイドラインのチェック

Laravel で送る・確かめる

Mailable・キュー・Mail::fake の基本はよくある機能の作り方「メールを送る」に。ここでは、承認の知らせと、お知らせのメール(配信停止つき)を例に、一歩進んだ書き方です。コードは Laravel 13・Pest 4・PHP 8.4 で動かして確かめました(名前と画面は作り物)。

特定電子メール法

宣伝のメールには、特定電子メール法の決まりがあります。勤怠のアプリの「承認しました」のような取引の知らせと、「新しい機能のお知らせ」では、扱いが違います。メールアドレスなど個人の情報の扱いは法律と決まり「個人情報保護法の基本」にあります。

このメールは、特定電子メール? 考え方のヒント

AI 時代AI とメール

AI は、だます側の文面も、送る側の文面も上手にしました。文の上手さでは見分けられないので、認証の結果と、人の目での確かめが大事になります。

チェックリスト

メールを送る機能を作ったら、確かめたものにチェックを付けてください(この端末にだけ保存されます)。考え方のヒント