QA #746
未完了メール送信にAWS SESを使用している場合、Redmineから50名超のメールが配信されない(news/watcher)
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