Amazon SES の Virtual Deliverability Manager アドバイザーはBIMIレコードをどこまで評価するか

2023.04.06

この記事は公開されてから1年以上経過しています。情報が古い可能性がありますので、ご注意ください。

前置き

先日のアップデートでVirtual Deliverability Manager アドバイザーにおいてBIMIレコードの設定有無を検出するようになりました。

既にアップデート後の試してみたは別の方が書かれています。

実は元々は推奨事項にこの件が出てきており気になるものの、以前試した時の印象ではVMCのないBIMIレコードは自己証明書感があり個人的には設定が憚られていました。

そのため推奨事項から消しつつロゴを表示させない方法をないかと探っていたのですが、その際に設定と推奨事項の表現が一致しないようなケースがあったので、どのようなケースでどのような検出がされるのかを探ってみました。

以前BIMIレコードを試した際の記録としては以下の記事にになりますので気になる方は是非ご一読いただければと思います。

なお以降本記事内の引用については明示的に指定がない場合以下のドキュメントからの引用となります。
(IDタグがなく該当セクション付近にリンクを落とせませんでした...)
https://datatracker.ietf.org/doc/draft-brand-indicators-for-message-identification/02/

インジケータの発見失敗は未検出扱いとなる

ロゴの指定先を示すlタグは指定必須となっているため設定なしができないように見えます。
が、実はこの値仕様上空の値が許可されており、その場合は明示的な公開拒否を示すことができます。

l= location (URI; REQUIRED). The value of this tag is either empty indicating declination to publish, or a single URI representing the location of a Brand Indicator file.The only supported transport is HTTPS.

具体的なレコードとしてはv=BIMI1; l=; a=;というレコードとなります。

なおBIMIレコードが未設定の場合メールヘッダのAuthentication-Resultsの値がbimi=none;となりますが、公開拒否の場合bimi=declined;として明確に未設定の間とで区別があります。

一見こちらのレコードでBIMIレコードによる設定を既存に対して影響を出さずに通知を回避できるように見えますが、アドバイザーでは未検出という扱いになります(フォーマットエラーではありません。

If the retrieved Assertion Record does not include a valid bimi location in the l= tag, then Indicator Discovery has failed

表現としてはIndicator Discovery has failed(インジケータの発見の失敗)のため、
明確にこのケースにあたる場合については未発見として取り扱う仕様なのかもしれません。

未発見の幅が思ったより広く気になったので確認してみたところ、セクション7.3までのチェックで処理が終了し以降のチェックが行われないケースについては未発見扱いとなるようです。

具体的には以下のケースです

  • lタグの値が空(上記のケース)
  • lタグに指定するURLのスキーマがHTTP(HTTPSではない)である
  • default._bimi.example.comにTXTレコードが2つ以上存在する
  • dmarcレコードがp=noneもしくはp=quarantineかつpctが100未満の場合
    • BIMIはp=quarantineかつptc=100もしくはp=rejectの場合のみ適用可能です

本当に必要で設定しているのに未発見扱いとなっている場合はこのケースをに該当していないか確認してみてください。

なおaタグについてはオプション値のためか設定無しでも特に通知事項として挙げられません。

フォーマットのエラーはチェックされる

上記を確認している中でセミコロンと間違えてコロンを入力してv=BIMI1; l=https://example.com/; a=:のようなレコードを設定してしましましたが、この場合は未発見とは別にフォーマットの推奨項目が用意されているようです。

リンク先にSVG画像はなくても検出されない

一方でフォーマットさえあっていれば問題ないようで、指定先にSVG画像が存在しない値を設定しても推奨事項からは消えました。

もし最終的に設定が本当に正しいかを確認したい場合は外部の確認ツールを利用してください。
公式ドキュメント上ではBIMI Inspectorを紹介しています。

終わりに

今回BIMIに関する推奨事項となるケースの境をさまざまなケースで探ってみました。

残念ながら大元の目的である影響を与えない形で推奨事項からの消去は難しいという結果となりました。
チェックとしてはもリンク先まではチェックされないもののそこまでのフローは定義に沿ってかなり厳密にチェックされています。 (正直DMARCの影響まで受けるとは思ってませんでした)

厳密にはlタグのURLを有効なSVG画像でないものにすることでこの条件を満たすことはできるのですが、そのようなメール(bimi=fail)がどのように扱われるかは定義はありません。

これにより受信側に必要以上に負荷をかける可能性もありますし、好ましくない扱いをされる可能性もないとも言えないので現状は影響なく推奨事項から消去するというのは諦める形となります。

現状知名度が高いわけもなくVMCの発行を含めるとコストが高そうなためなかなかこの機会に設定をとまではなかなか言えないですが、この通知をきっかけにBIMIとはどのようなものかというのを知ってもらえたらそれだけでも価値はあるのかなと思います。