プロジェクト

全般

プロフィール

QA #746

未完了

メール送信にAWS SESを使用している場合、Redmineから50名超のメールが配信されない(news/watcher)

Yatsunami Tomo さんが6年以上前に追加. 約6年前に更新.

ステータス:
回答済
優先度:
通常
担当者:
-
カテゴリ:
-
対象バージョン:
-
開始日:
2017/12/07
期日:
進捗率:

0%

予定工数:

説明

■現象/要望

メール送信にAWS SESを使用している場合、Redmineから50名超のメールが配信されない(Redmine3.4,news/watcher)

このとき、RedmineのログにAWS SESからの554エラー通知が記録されている。
554 Transaction failed. Recipient count exceeds 50
AWS SESでは、1通のメールは最大50人までの受信者しか設定できない仕様のため、Redmine側で回避策が必要。
https://aws.amazon.com/jp/ses/faqs/

■解決策

Postfixでメール中継し分割送信する(Redmine3.XでのWorkAround)

EC2にPostfixをインストールし、localhostのPostfixを経由してSESに送る。
Postfixは1メールに最大1000件の宛先を指定でき、宛先が50を超える場合は分割して送信できる。(初期設定値)
https://redmine.tokyo/issues/746#note-2

[Redmine] ---(SMTP)---> [Postfix] ---(SMTP)---> [SES]

Redmine4.1.0のメール配信処理変更

Redmine4.1.0にて、通知メールを1ユーザー毎に送信するよう変更予定。これにより解消する筈。
http://www.redmine.org/issues/26791

■対応状況

Redmine4.1リリースまでは、上記WorkAroundで対処可能。動作確認OK。

↓具体的な設定手順
[Redmine]Sending “news” by e-mail to more than 50 Redmine accounts via SES/AWS

■補足

Redmineのメール通知に使用するSMTPサーバーとして、SES(Amazon Simple Email Service)を利用するための手順
[Redmine] Using AWS SES as SMTP Server for Redmine notification

以下、当初内容


現在、AWSのEC2でRedmineを稼働し運用しております。メールの送信にはAWSのSESを利用しています。
その中で、現在メンバーが50名を超えるプロジェクトができました。
するとニュースの更新でメールがメンバーに届かなくなるという現象が発生しました。

調べたところ、Redmineのログに

554 Transaction failed. Recipient count exceeds 50

と出力されており、AWS SESからエラーが返って来ていることがわかりました。
さらに調べたところ以下のFAQに1通のメールは最大50人までの受信者しか設定できないという記載がありました。
https://aws.amazon.com/jp/ses/faqs/

現在AWSにはこの制約が(追加料金などで)解除できるものなのかどうかについては問い合わせを投げておりますが、Redmine側で対応できる策がないのか調べようと思い、こちらに投稿させていただきました。
通常チケットは更新時は1通1宛先なのに、ニュースは一括送信になっている仕様を変えるぐらいしか手立てはないのでしょうか?
お知恵を拝借したく。

Environment:
Redmine version: 3.4.2.stable
Ruby version: 2.3.4-p301 (2017-03-30) [x86_64-linux-gnu]
Rails version: 4.2.8


関連するチケット 1 (1件未完了0件完了)

関連している Unofficial Redmine Cooking - QA #819: メール通知の文面の言語を、ユーザーの個人設定の「言語」で切替えるようにカスタマイズしたい回答済2018/06/07

操作

前田 剛 さんが6年以上前に更新

今すぐ使える情報でなくて申し訳ないのですが、Redmine 4.0.0 (リリース時期未定) では、すべての通知メールが1ユーザーごとに送信されるようになる予定です。

http://www.redmine.org/issues/26791
https://www.slideshare.net/g_maeda/redmine-4041/18

前田 剛 さんが6年以上前に更新

おそらく現在はEC2上のRedmineから直接SESにSMTPで接続していると思いますが、EC2にPostfixをインストールし、localhostのPostfixを経由してSESに送るようにすると解決するのではないかと思います。

現状:
[Redmine] ---(SMTP)---> [SES]

変更案:
[Redmine] ---(SMTP)---> [Postfix] ---(SMTP)---> [SES]

Postfixに対してはデフォルトでは一度に最大1000件の宛先を指定できます ( smtpd_recipient_limit )。一方、他のMTAにメールを送るときは、デフォルトでは最大50件の宛先を指定し、宛先が50を超える場合は送信処理を分割します( smtp_destination_recipient_limit )。

したがって、Postfixを間に挟むだけで、SESに対しては宛先が50件を超えないメールに小分けして配送してくれると思われます。

Yatsunami Tomo さんが6年以上前に更新

Redmine4.0.0での仕様変更の情報ありがとうございます。
とはいえ、会社で使っている仕組みで人柱は怖いですね・・・。

WorkAroundの提案ありがとうございます。
ひとまずこちらの提案を実現する方向で進めようと思います。

奈良 裕記 さんが6年以上前に更新

アドバイスありがとうございます>前田さん

WorkAroundで対処できましたら、ステータスを解決にしますので、結果報告お願いします。>Yatsunami さん

Yatsunami Tomo さんが6年以上前に更新

職務状況ですぐ試せないので、1月中の対応になるのですが、それでも大丈夫でしょうか?
問題なければ確認でき次第共有させていただきます。

奈良 裕記 さんが6年以上前に更新

どうぞ、お時間の取れる時で構いませんので。。

Yatsunami Tomo さんが6年以上前に更新

SESの1メールあたりの最大受信者(TOに記載されたメールアドレス数)が50であることの制限についてAmazon Web Servicesからの回答がありましたので、情報共有のために記載しておきます。

こちらの数字について、現時点では個別に設定できる数字ではないということが結論だそうで、やはり前田さんからご提示いただいたWorkAroundで対処するしかなさそうです。その前に4.0.0が出れば別ですが・・・。

※回答はだいぶ前にありましたが、こちらへの記載が遅くなりました。

Yatsunami Tomo さんが約6年前に更新

遅くなりましたが、対応が完了しましたので、ご報告します。
前田さんからのWorkAround提案の通り、

[Redmine] ---(SMTP)---> [Postfix] ---(SMTP)---> [SES]

の環境にし、65アカウントがメンバーとして登録されているプロジェクトでニュースが正しく配信されることを確認しました。

具体的な手順についてはこちらにだいたいまとめましたのでご興味があればご覧ください。
[Redmine]Sending “news” by e-mail to more than 50 Redmine accounts via SES/AWS

奈良 裕記 さんが約6年前に更新

  • 題名プロジェクト登録メンバー数が50名を超え、メール送信にAWS SESを使っている場合にニュースが配信されない問題の対策 から メール送信にAWS SESを使用している場合、Redmineから50名超のメールが配信されない(news/watcher) に変更
  • 説明 を更新 (差分)
  • ステータス新規 から 回答済 に変更

動作確認ありがとうございました。

内容整理しました。

今後ともよろしくお願いします。

奈良 裕記 さんが約6年前に更新

前田 剛 さんが5年以上前に更新

  • 関連している QA #819: メール通知の文面の言語を、ユーザーの個人設定の「言語」で切替えるようにカスタマイズしたい を追加

他の形式にエクスポート: Atom PDF