質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.49%
Perl

Perlは多目的に使用される実用性が高い動的プログラミング言語のひとつです。

Postfix

Postfixは、電子メールサーバソフトウェアで、 メールを配送するシステムMTAの一種です。

Q&A

解決済

1回答

4215閲覧

postfixでdocomoにメール送信した時の「421」エラー

shige1977

総合スコア11

Perl

Perlは多目的に使用される実用性が高い動的プログラミング言語のひとつです。

Postfix

Postfixは、電子メールサーバソフトウェアで、 メールを配送するシステムMTAの一種です。

1グッド

2クリップ

投稿2018/02/23 01:48

こんにちは

会員制WebシステムをLAMP(Linux+apache+mysql+perl)環境で開発しております。
現在運用中で、ユーザー数は約3700件ほどで、法人向けのものとなっております。
当システムの機能の一つに「メール配信サービス」があり、
ユーザー毎にQRコードを発行することができるので、それを利用してメールアドレスを回収し
メルマガとしてメール配信している状況です。
メールアドレス登録者は、当然ながらユーザー毎に異なり、数十人~数万人ほどおります。

ユーザーによるメルマガ配信は、ほぼ毎日行われているのですが
メールログを見ると、たまにdocomoにて「421 Service not available, closing transmission channel」
が連発されているメールアドレスがあり、メール遅延してしまう現象が発生してしまいます。

当機能における注意事項として、下記のページに既に周知されておりますが
docomo「同報メールを大量に送信されるお客様へ」
https://www.nttdocomo.co.jp/service/imode_mail/notice/mass_send/

>1.大量の宛先不明を含むメールは送信しないでください
対応済みです

>2.適正なSMTPセッション数で送信ください
>3.1通のメールで可能な同報数の上限にご注意ください

未対応です。
このSMTPセッションについてお聞きしたいのですが
メール送信はpostfixを利用しているので、対応策をググッたところ、

smtp_destination_concurrency_limit=1
smtp_destination_recipient_limit=1

にした方が良いという記事を見つけました。

当機能のメール送信処理として、画面の「メール送信」ボタンを押すと
送信対象となるメールアドレスを配列に格納し、
(配列に格納されるメールアドレスは、数十件~数万件)
foreach文を使用して1件づつメール送信処理を行うようにしております。
なので特に問題なければ、すぐにメールが届くようになっていますが
上記のsmtpの設定をした場合、何か影響が出ますでしょうか?
あるいは影響なく、現状通りとなりますでしょうか?

以上です。
よろしくお願いいたします。

yodel👍を押しています

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

yodel

2019/09/11 10:45

回答をもらっているのにそれぞれ質問したままなのでしょうか?
shige1977

2019/09/12 02:01

smtp_destination_concurrency_limit=1 smtp_destination_recipient_limit=1 に設定し、様子をみているうちに、本日に至ってしまいました。。 大変申し訳ございません。。 結果的に上記設定を行っても影響は出ない結論となりました。
guest

回答1

0

ベストアンサー

これらのパラメータで、何が設定されるのかを理解しましょう。

パラメータで設定される内容は、下記の内容です。
postconf(5) などを参照。

smtp_destination_concurrency_limit ば、1つの接続先に同時に接続する最大数を設定。デフォルトは、20。

smtp_destination_recipient_limit は、1配送ごとの最大の受信者数を設定。デフォルトは、50。


現在の運用に当てはめて考えてみましょう。
ログを調べて、どれぐらいの接続数になっているのかを確認します。

1メッセージに 1メールアドレスで、1通づつ送信していると書かれているので、「smtp_destination_recipient_limit = 1」を指定しているのと同じ状態と考えられます。

次に smtp_destination_concurrency_limit ですが、1つのドメイン宛にメールを大量に送った場合のSMTPのコネクションは、現在どれぐらいあるでしょうか?
同じドメインのサーバーへの同時接続数が、「smtp_destination_concurrency_limit = 1」を設定すると 1 に制限されます。現在のSMTP コネクションと比べて、同時接続数の変化があるのであれば、影響があることになります。あとは許容できる範囲かを検討する必要があります。

投稿2018/02/23 03:25

CHERRY

総合スコア25171

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

shige1977

2019/09/12 02:04 編集

コメントが遅くなってしまい、大変申し訳ございませんでした。 この度はご回答頂きまして、ありがとうございました。 その後、 SMTPのコネクションの数を確認し、問題なさそうだったので smtp_destination_concurrency_limit=1 smtp_destination_recipient_limit=1 に設定して、しばらく様子をみておりましたが、 本日に至るまで「421」エラーは発生せず、メールが遅延する現象は起こらなくなりました。 結果的に上記設定を行っても影響は出ない結論となりました。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.49%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問