ここの情報は古いです。ご理解頂いた上でお取り扱いください。

Opened 11 years ago

Last modified 11 years ago

#4163 new enhancement

送信メンバー数がが多すぎる場合に、メールが送信対象メンバー全員に送信されないことがある

Reported by: shingo Owned by: nobody
Priority: minor Milestone:
Component: 指定しない Version:
Keywords: Cc:

Description

■概要

メッセージ送信対象メンバー数が多い場合に、php.iniの「max_execution_time」の制限に引っかかってしまい、メール送信処理が途中で止まってしまう。

◆対象箇所

  • f系ページ
    • マイフレンドにこの人を紹介する:page_f_invite
      • チェック式
  • c系ページ
    • イベント参加者 一括メッセージを送る:page_c_event_mail
      • チェック式
    • イベントお知らせメッセージを送る
      • チェック式
    • コミュニティ参加者全員にメッセージを送る:page_c_send_message
      • チェックなし
  • 管理画面
    • 招待メール送信:?m=admin&a=page_send_invites
    • メッセージ・Eメールを送る
      • :?m=admin&a=page_send_messages_all
      • :?m=admin&a=page_send_messages_id_list

■仕様

※メールキューでの送信であれば問題ないので「OPENPNE_MAIL_QUEUE」が false での運用時のみを想定する

  • 対策案①
    【SNS】
    ○エラーメッセージ
    ・送信先件数が1000件を超える場合は、エラーメッセージを表示
      ⇒中途半端な送信状態を防ぐ
    
    ○1000人を超える場合は1000人毎選んで送信
      ・対象人数が1000人以下の場合は現状通り
      ・1000人以上の場合
          ・デフォルトでメンバー&チェックボックス表示をしない
        ・以下のようなラジオボタン
          ◎1~1000番目の人に送信
          ◎1001~2000番目の人に送信
           ・・・・
          ◎4000~4588番目の人に送信
            ⇒送る人を選択する[リンク]※
        
        ※リンクを押すと従来のメンバー&チェックボックスでの選択送信へ移行
         (URLにパラメータを追加)
        ※ただし1000人以上選択して送信した場合はエラー
       ※チェックボタン式でない送信フォームは「送る人を選択する」リンクは表示しない
        (例:コミュニティ参加者全員にメッセージを送る)
    
    【管理画面】
    ○エラーメッセージ
     ・送信先件数が1000件を超える場合は、エラーメッセージを表示
    
    ○対象箇所
     ・招待メール送信(?m=admin&a=page_send_invites)
     ・メッセージ・Eメールを送る
    

※運用するサーバ等のスペック・環境に依存するので「1000人」は適宜変更する

  • 対策案②

○上記対象箇所に注意文言を追加する

「OPENPNE_MAIL_QUEUE」が false の場合のみ

Change History (1)

comment:1 Changed 11 years ago by kiwa

Version: 2.12.x & 2.14.x
Note: See TracTickets for help on using tickets.