【Amazon SNS】日本語の表示名に注意、61文字以上だとEメールが送信されない

記事タイトルとURLをコピーする

こんにちは。 ディベロップメントサービス1課の山本です。

寒くなったり、暑くなったり忙しい季節ですね。
秋は消えてしまったのかもしれません。。。

今回はAmazon SNSの表示名に日本語を利用する場合の注意点を説明します。
61文字以上だとEメールが送信されません。

Amazon SNSの表示名とは

Amazon SNSを利用して、メッセージを送信する時の送信元の名前になります。

Amazon SNS 設定画面

通知先としてよく使われる、EメールとSMSでは下記のように見えます。

Eメールサンプル

SMSサンプル

最大文字数について

マネジメントコンソール上は、最大100文字と記載があります。

マネジメントコンソール上の最大文字数

しかし、実はEメール送信時には別の制約もあります。

E メールエンドポイントをサブスクライブする場合、Amazon SNS トピックの表示名と送信 E メールアドレス (例えば、no-reply@sns.amazonaws.com) の合計文字数が 320 UTF-8 文字を超えてはなりません。Amazon SNS トピックの表示名を設定する前に、サードパーティーのエンコードツールを使用して送信アドレスの長さを確認できます。

docs.aws.amazon.com

320 UTF-8 文字を超えてはなりませんの理解がしっくり来なかったので
実際にUTF-8のbyte数による文字数限界を調べてみました。

UTF-8のbyte数に応じた最大文字数

表示名の変更とメール送信を繰り返して確かめました。
こういう時、二分探索は便利ですね。

  • 送信元Eメールアドレス:no-reply@sns.amazonaws.com

Eメール送信可能な文字数

UTF-8
byte数
送信文字 最大文字数 備考
1 a 100
2 Ѡ 88
3 60 日本語は基本3byte文字
4 🍺 50 2文字扱いで処理される
最大50文字まで

まとめ

  • Amazon SNS の表示名は、文字の種類によっては最大100文字入れるとEメール送信ができない。
  • 表示名を全て日本語にした場合、60文字までならEメール送信可能。

さいごに

こんなに長い表示名をつける人は少ないと思いますがご参考までに。
大切なことはAWSドキュメントの重要に書いてますね。

本ブログがどなかたのお役に立てれば幸いです。

山本 真大(執筆記事の一覧)

アプリケーションサービス部 ディベロップメントサービス1課

2023年8月入社。カピバラさんが好き。