【小ネタ】メールのTo、Cc、Bcc、Reply-Toについてちょこっと説明

# はじめに

メールを送信する際に指定する、`To、Cc、Bcc、Reply-To`についてメモ書き程度にざっくりと説明します！
※今回はGmailで試します
※実際は自身のメールアドレスで試してますが、本記事ではメールアドレスは架空のものを記載します:bow: 

# To

- (メインの)宛先を指定します
- 複数指定可能です
- 基本的に、返信してほしい人を指定します
- AWS SESでToを指定してメールを送る際は、以下のように指定して送ります

```bash
aws ses send-email \
  --to to@example.com \
  --from from@example.com \
  --subject "To確認" \
  --text "test" \
  --region ap-northeast-1

{
    "MessageId": "010601929271162d-65fbcaae-d89f-4dc5-a931-224afdb0e532-000000"
}
```

`to@example.com`のメールボックスで、`メッセージのソースを表示`をクリックしてメールヘッダーを確認すると、以下のようになっているはずです
```
From: from@example.com
To: to@example.com
```

# Cc

- (メインでない)宛先を指定します
- Carbon Copy(写し)の略です
- 複数指定可能です
- 返信は不要だが、確認はしてほしい人を指定します
- AWS SESでCcを指定してメールを送る際は、以下のように指定して送ります
```bash
aws ses send-email \
  --to to@example.com \
  --cc cc@example.com \
  --from from@example.com \
  --subject "Cc確認" \
  --text "test" \
  --region ap-northeast-1

{
    "MessageId": "0106019292735f95-c70f8281-7931-4325-86e7-dc54dd633d93-000000"
}
```

`cc@example.com`のメールボックスで、`メッセージのソースを表示`をクリックしてメールヘッダーを確認すると、以下のようになっているはずです
```
From: from@example.com
To: to@example.com
Cc: cc@example.com
```

# Bcc

- Blind Carbon Copy(見えない写し)の略です
- 複数指定可能です
- 複数指定しても他のBccの宛先は、受信者には表示されません。不特定多数に、一斉にメールを送りたい時に指定します
- AWS SESでBccを指定してメールを送る際は、以下のように指定して送ります
```bash
aws ses send-email \
  --to to@example.com \
  --bcc bcc@example.com \
  --from from@example.com \
  --subject "Bcc確認" \
  --text "test" \
  --region ap-northeast-1

{
    "MessageId": "0106019292747106-3426af8b-2b0d-4a8b-ac16-c8c9737d35cd-000000"
}
```

`bcc@example.com`のメールボックスで`メッセージのソースを表示`をクリックすると、以下のようになっているはずです。
```
From: from@example.com
To: to@example.com
```
あれ...Bccが表示されてないですね。
受信者のメールのメールヘッダーには、Bccの情報は入ってこない仕様のようです。
※送信者のメールヘッダーには表示されます


また、👇のようにBccでもToとして表示されるようです。
GmailだとBccで送ったことを良い感じで隠してくれてるんですかね :thinking: 
まぁ、メッセージヘッダーを見るとToに自分がいないので、Bccで送られたってわかりますがわざわざ見る人あまりいませんしね...

![スクリーンショット 2024-10-16 081417.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/87924/56af1955-274b-d3a1-1e97-63fc15f766ac.png)


:::note alert
Bccは不特定多数に送れるという特徴がありますが、現在あまり使われてないように思います。
いくつかの企業のメールマガジンを見ましたが、Toで送られていました

その理由としては、
- ブラックリストに載り通常のメールも送れなくなる可能性がある
- メールサーバの上限に引っかかる
- 情報漏洩の危険がある(Bccで指定したと思ったら、To・Ccで指定していて他のユーザのメールアドレスが閲覧できてしまう)
などがあります。

また、Gmailなど各社のメール送信ガイドラインが厳しくなっている影響もあるかと思います。
Gmailの送信ガイドラインについては、[こちら](https://blastmail.jp/blog/no-delivery/bcc-notreach)にまとめてくれています。
:::


# Reply-To

- 返信先を指定します
- 複数指定可能です
- 送信元と返信先を変えたい場合に指定します
- AWS SESでReply-Toを指定してメールを送る際は、以下のように指定して送ります

```bash
aws ses send-email \
  --to to@example.com \
  --from from@example.com \
  --reply-to-addresses test@exapmle.com \
  --subject "ReplyTo確認" \
  --text "test" \
  --region ap-northeast-1

{
    "MessageId": "01060192927b5868-5e31b6f5-7ca0-49a1-a4a6-cf3ea0331c3a-000000"
}
```

`to@example.com`のメールボックスで`メッセージのソースを表示`をクリックすると、以下のようになっているはずです。

```
From: from@example.com
Reply-To: test@example.com
To: to@example.com
```

以下のようにreply-toを指定することで、[返信]ボタンをクリックした際の返信先が`from@example.com`ではなく`test@exapmle.com`になっていることがわかります。

メルマガなど返信されても対応できないfromに関して、対応できるメールアドレスをReply-Toに書くと良いと思います。

![スクリーンショット 2024-10-16 082047.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/87924/020169fe-3faf-6d75-906f-3b753ced918b.png)

:::note info
受信者が返信するまでは、Reply-Toにはメールを送っていないのでSESの検証済みのメールアドレス or ドメイン以外も指定できます
:::

# おわりに

今回は、To、Cc、Bcc、Reply-Toについて簡単ですが説明させて頂きました。
メール周りは知識がかなり不足しているので、知識を付けてまとめ記事を書けるくらいにはなりたいです:frowning2: