ドコモメールを少しでもマシに使えるようなことをそこはかとなく書きつくる

# 要約

とりあえず、Androidのドコモメールアプリは使いにくい。
iOSのメールアプリはそれほど悪くないが、公式の手順に従ってプロファイルを入れると鬱陶しい。

よって、ドコモメールIMAPの手動設定をすることで、好きなメールアプリにて快適に使おうってな話。
Android ドコモメールアプリで発生する dアカウントの認証切れだとか、Wi-Fi切って再認証とかの手間もなくなるでって利点。

## メールアカウント設定情報

- 共通情報
    - 認証情報
        - IDパスワードは[my docomo](https://id.smt.docomo.ne.jp/cgi7/id/imapsrvp)から確認
            - IDは dアカウント
            - PWはIMAP専用パスワード
- 受信メールサーバ
    - imap.spmode.ne.jp
        - TLS1.2, 993/TCP
        - LOGINまたはAUTHENTICATE（LOGIN）、基本認証・基準と書かれている場合もあり
- 送信メールサーバ
    - smtp.spmode.ne.jp
        - TLS1.2, 465/TCP
        - AUTH-PLAINまたはAUTH LOGIN

## ついでに、WebClip（ホーム画面アイコン）のないドコモメールプロファイルもあるでって話

- ドコモメールのみ
    - その他のプロファイル（ドコモメール利用設定）
        - [送信者名メアドに固定](https://id.smt.docomo.ne.jp/cgi7a/id/getmobileconfig?movepatternno=1)
        - [送信者名指定（半角スペース混入不可）](https://id.smt.docomo.ne.jp/cgi7a/id/getmobileconfig?movepatternno=2)
    - 複数のドコモメール設定を入れる場合に利用できるプロファイル
        - [マルチデバイス利用設定](https://id.smt.docomo.ne.jp/cgi7d/id/getmultidevconfig?mp=ma)
- ドコモメールとメッセージR/Sだけ
    - [青少年専用](https://id.smt.docomo.ne.jp/cgi7a/id/getmobileconfig?movepatternno=4)

:::note warn
マルチデバイス利用設定以外のプロファイルは、プロファイル識別子が同一であるため、互いに上書きし合う。
複数のアカウントを設定する場合は手動設定を行うか、マルチデバイス利用設定を利用する必要がある。
:::

# 以下、小ネタ話

## 資料

### ドコモメールIMAPインターフェース仕様書

https://www.docomo.ne.jp/service/developer/smart_phone/application/imap/

この記事を書いた2024/10/09時点の[第4.3版（2022/04/08）](https://www.docomo.ne.jp/binary/pdf/service/developer/smart_phone/application/imap/mail_imap_spec_220408.pdf)を参照し記述

:::note warn
これはあくまでドコモメールをIMAPで使う場合の仕様であり、ドコモメール全体の仕様ではない。
Androidのドコモメールアプリを利用する場合はIMAPではなくHTTPSベースで通信しているっぽいので、社内網の穴あけをする時とかはそこらへん注意。
:::

### ドコモメールサーバ（IMAP）の設定パラメータ

すごく見づらく解りにくいが、「設定項目一覧」を展開した下の方に記載されている。

https://www.docomo.ne.jp/service/docomo_mail/other/

- 受信
    - imap.spmode.ne.jp または imap2.spmode.ne.jp
        - iOS系は後者との記載があるが、この二つの違いは後述
    - IMAPSで993/tcp
- 送信
    - smtp.spmode.ne.jp
    - SMTPSで465/tcp
- 認証
    - ID
        - dアカウント
    - パスワード
        - IMAP専用パスワード
            - ランダム文字列で発行
            - My docomoから確認・再発行できる
            - 発行されていない場合は手動か、ドコモメール利用設定を行うことで発行

#### SSL/TLSについて
現時点（2024/10）ではTLS1.2のみ。
Legacy Renegotiationが掛かるので、そこんとこ注意。
OpenSSLだと  -legacy_renegotiation のオプションが要る。

#### IMAP専用パスワード

ほぼ文字通り、IMAP認証時に利用するパスワード。ついでにSMTPも。
ランダムな文字列で発行され、ユーザーで指定することは不可。再発行してもランダム。
元々は dアカウントのID/PWでメール認証を行っていたような気がするが、やたらと乗っ取りが多かったのか今の仕様になったとか。

https://www.docomo.ne.jp/info/notice/page/150303_00_m.html

ただ、欠点としてはランダム発行かつ各アカウントで個別にMy docomoで得るしか確認方法がないのでたまにつらい。
ただ、少なくともAndroid版ドコモメールの dアカウント利用設定アプリの認証よりかは安定はしている。

#### ふたつのIMAPサーバの違い

IMAPインターフェース仕様書にはこんな感じで書いてある
> 2.2.2 接続条件
> imap.spmode.ne.jp 下記以外から設定する場合に利用
> imap2.spmode.ne.jp iPhone、iPadの標準メーラーから設定する場合に利用

なぜかもう少し先にあるIMAPコマンド応答のところに詳しい記載がある
要約するとこんな感じ
>2.3.19.2.1 FETCH
>なお、接続元ドメインが imap2.spmode.ne.jp の場合
>・マルチパート構成変更処理
>・i絵文字→UNICODE絵文字の文字コード変換処理
>　・変換処理対象がほぼメールの全体

要するに、メールデータに手を入れられてこねくり回されドコモ色に染められてしまう。

i絵文字はまあ割とどうでもよいが、マルチパート構成変更は結構タチが悪いように思える。
ガラパゴスであった過去のiモード・spモードメールをiPhoneのメールアプリで見えるようにするための苦肉の策だろうか。
だが、勝手にメールデータをいじられることで、添付ファイルを見ることができないメールとなってしまったり、メール署名に影響出ないかってあたりが懸念点だろうか。DKIMの仕組みに詳しくないので知らんけど。

なんにせよ、相手側から送られてきたメールデータに手を入れられたくはないので、iOSで標準メールAppであっても、メールサーバの設定は imap.spmode.ne.jp で設定することが無難であると考える。

まあimap.spmode.ne.jpにしたところで、S/MIMEメール署名を勝手に外してくれやがりますけど。なにしてくれてんねん。

#### メールフォルダ

IMAPインターフェース仕様書「2.3.1.1 フォルダ」に記載があるドコモメールの仕様と、iOSメールAppを弄った体感での仕様を以下に記載する。
- ゴミ箱
    - ドコモメールは「Trash」
    - iOSの初期値は「Deleted Messages」
- 送信BOX（送信済みメール）
    - ドコモメールは「Sent」
    - iOS初期値は「Sent Messages」

このズレについて、割と初期のドコモメールは公式手順で吸収していたと記憶している気がする。気が定かではないが。

https://www.docomo.ne.jp/service/docomo_mail/ios/use/

現行（2024/10）の公式手順は、メールプロファイルをインストールするのみとなっており、これではメールAppが勝手にドコモメールのIMAPサーバ上に「Sent Messages」「Deleted Messages」のフォルダを作成し、そこを利用する仕様であるっぽい。
これによって、iOS以外の機種から機種変更した場合及び、iOS以外の機種以外へ機種変更した場合に、ドコモメールが正しく引き継がれていないように見える懸念が考えられる。
またこれも個人的体感だが、ズレが生じた状態にてドコモメールで大量のメール操作（削除済みを一気に空にするとか）を行うと、正しく行われない可能性が高いように感じる。

そのため、ドコモメールの設定を行う場合は、このフォルダの紐付けを正しくしてやった方が良さげ。
なおiOS・Android版のGmailアプリは初期設定で正しい方のフォルダを扱ってくれるよう。
iOS版Outlookは、「〜 Messages」があればそちらを優先してしまうよう。
かつ、両者ともモバイル版においては手動でフォルダ設定する項目が見当たらない。

「〜 Messages」のフォルダが作成されてしまった場合、このフォルダを削除するのは一苦労する。
[ブラウザ版ドコモメール PC版](https://mail.smt.docomo.ne.jp/)を使うのが楽。
だが、「Sent Message」から「Sent」への移動はブラウザ版ではできないので、メーラーでやるしかない。個人的に楽なのはPC版Thunderbird。ただし、この作業もメール数が多いとなんか不安定なので、その場合は数日かけてやるしかない。

### ドコモの公式プロファイルについて

My docomoでダウンロードできるプロファイルにはいくつか種類がある。
また、契約内容によってもプロファイルの内容が変わる。

- 標準iPhone利用設定
    - ドコモの公式手順で落とすように指定されているもの
    - Descriptionに「ドコモメール、メッセージR、メッセージSを利用するための端末設定とドコモの各サービスのショートカットをホーム画面に追加します。」とある
        - WebClipの数が多すぎて不評の元
- iPhone利用設定（青少年専用）
    - Webフィルタリング契約が付与されているとこちらになり、標準版はダウンロードできないっぽい
        - 契約していなくてもこちらを落とすこともできなくはない
        - メールにフィルタリングが掛かる訳でもなし、青少年専用って名前があまりよろしくない
    - Descriptionに「ドコモメール、メッセージR、メッセージSを利用するための端末設定です。」とある
    - 標準からWebClipが省かれメール設定のみとなりすっきりしたプロファイルである
- その他のプロファイル（ドコモメール利用設定）
    - My docomo「メール・各種設定」の最下部に隠されている
    - メール送信者名をどうするか選べる
    - Descriptionに「ドコモメールを利用するための設定を追加します。」とある
    - ドコモメール設定のみが含まれているさっぱりしたプロファイルである
- マルチデバイス利用設定
    - iPadでmydocomoにアクセスすると出現する
    - 中身はドコモメール利用設定と同じくドコモメールのみ
    - 大きな特徴は、プロファイル識別子がユニークであること
        - 他のプロファイルは互いに上書きし合うし、別のメールアドレスのものぉ互いに上書きし合う
        - 複数のドコモメールプロファイルを入れたい場合はこれを選ぶことになる
     - iPadでしか導線が出てこないっぽいので他機種だと直リンクが必要
    - 元々はWi-Fiモデルなど契約回線以外の機器でドコモメールを使いたい時の導線

iOSに慣れていてメッセージR/Sもいらねぇ！って人は、ドコモメール利用設定のプロファイルを使えばいいかもしれないが、これらのプロファイルはすべてサーバがimap2を向いているので、そこんところで判断してほしい。

:::note alert
プロファイルにはパスワード類がすべて平文で記述されているので、PCでダウンロード・保管するときはそこんとこ厳重に注意。
:::

#### iOSメールAppの罠

iOSのメールAppでIMAPアカウントを手動で追加する際、メールアドレスを入れると自動的にサーバ情報を取得して設定しようとする。
だがおそらくAppleが持っているであろう情報か、サーバ判定の処理が間違っているようで、取得中だの検証中だのぐるぐる回り続け最終的には失敗することが多い感覚。
よって、標準メールAppでドコモメールの手動設定を行おうとする場合は、最初のメールアドレス入力欄には「xxx@docomo.ne.jp.orz」のように、存在しないドメイン名を入力してやるといい。
そうすれば、即座にサーバ設定を手動で行える画面が出てくるので、そこでサーバ設定を手動で入れる。

といいつつ、サーバのSSL判定がイカれていてうまく設定できない場合もあった。
なので、個人的にiOS標準のメールAppはお勧めしない。どうしても使いたい場合はプロファイルでやり、どうしても手動設定したければサーバアドレスをダミーで入れて保存した後に改めてSSLスイッチとポート番号を修正するやり方であれば設定できた。

macOSのメールAppでもたぶん同じ動きな気がする。

なお、GmailアプリやOutlookアプリでは問題ない。たぶん各社がそれぞれ情報持っているのだろう。知らんけど。

#### メッセージR/Sについて

- こいつの正体はPOP3アカウントとダミーのSMTP設定である
    - POP3なので、ドコモメールと異なり初期化や機種変の時には受信データが飛ぶ
    - 送受信ともにサーバは「mail.spmode.ne.jp」である
    - ダミーの送信アカウントが入っているので、誤ってこっちで送信しようとするとエラーになって紛らわしい
        - 送信者名のアカウントが「"hoge"@docomo.ne.jp」のように”で括られていたらこっちのアカウント
- アカウント情報はMy docomo上でも確認することができないので、プロファイルを見るしかない
    - パスワードはかなり長めのランダム文字列
    - IMAP専用パスワードとは別
- POP3Sなので、他のメールサービスから取得しやすい
    - gmailに取り込んでしまえば楽じゃね？
        - [他のアカウントのメールを確認する](https://support.google.com/mail/answer/21289?hl=ja)
        - っつか、IMAPもgmailへ取り込めるようにしてくれたら楽なんですが

# 個人的な独断と偏見によるまとめ

ドコモメールを使うのであれば
- iOSの場合、ドコモのプロファイルは使わず手動設定
- メールサーバはimap.spmode.ne.jpを使う
    - わりといろんなメーラーがサーバ自動設定するが、その際にimap2の方を選定するものも混在しているかもなので要確認
- メーラーは好きなの選ぶといいが個人的にはGmailアプリが無難
    - 例えばこれらがGmailアプリひとつにまとまる
        - 普段使いのgmail
        - ドコモメールはおまけでとりあえず送受信できるようにして使い分け
        - メッセージR/Sはgmailに取り込みタグ付け
            - アカウント情報を見るためのプロファイル入手は、PCブラウザから開発者モードでiPhoneに偽装してMy docomoへ行けばいい
    - まあ好きにメーラーを選んで自分の使いやすいようにすればよろし
        - 標準メーラー以外はPUSH受信できひんけどな、まあ必要あらへんやろ
- プロファイルの時も手動設定の時もフォルダ設定に注意
    - フォルダ設定ができないメーラーの場合は、Sent＆Trashを向いてくれているか確認
- AndroidユーザーもGmailアプリに一本化でええんでね？
- 迷惑メールも多いし捨てる方向でええやん？

# 設定手順例

:::note warn

今後のバージョンアップによって変わる可能性があるため、あくまで一例として取り扱う。

:::

## iOS Gmail

- My docomoでユーザーIDとIMAP専用パスワードを確認しておく
    - [My docomo → メール・各種設定 → メール設定 → IMAP接続設定確認 → IMAP用ID・パスワードの確認](https://id.smt.docomo.ne.jp/cgi7/id/imapsrvp)
- （ない場合）Gmailアプリをインストール
- Gmailアプリを起動
- （他にアカウントがない場合）「ログイン」をタップ
    - （他にアカウントがある場合）右上のアイコンをタップして「別のアカウントを追加」をタップ
- 「その他（IMAP）」を選択
- ドコモメールアドレスを入れて「次へ」をタップ
- 受信サーバの設定にてパスワード欄に、最初に確認したIMAP専用パスワードを入力（コピペ推奨）
- 自動入力された設定値を確認したら「次へ」をタップ
    - ユーザー名は最初に確認したユーザーIDであること（メアドが入ってくるので、違っていれば書き換える）
    - IMAPサーバ「imap.spmode.ne.jp」
    - ポート「993」
    - セキュリティの種類「SSL/TLS」
- 送信サーバの設定にて以下を確認し、「次へ」をタップ
    - ユーザー名が最初に確認したユーザーIDである（なっていなければ書き換える）
    - パスワードが入力済み「⚫️⚫️⚫️⚫️⚫️⚫️」になっている（なっていなければIMAP専用パスワードを入力）
    - SMTPサーバ「smtp.spmode.ne.jp」
    - ポート「465」
    - セキュリティの種類「SSL/TLS」
- アカウントの設定が完了しましたとの画面で、送信者名を設定し「次へ」をタップ
- 受信トレイが表示されれば完了（空の場合は「これで全て完了です」と出る、たぶん）