-PR-
締切り
済み

sendmailについて

  • すぐに回答を!
  • 質問No.83184
  • 閲覧数67
  • ありがとう数0
  • 気になる数0
  • 回答数2
  • コメント数0

お礼率 40% (9/22)

以前ここで同様の質問を見たような気がするのですが、時間がないので、また質問させてください。

プロバイダーのsendmailを使ってメールマガジン送信フォームを作成したのですが、2600件メール送信実験中960件辺りで止まってしまいます。
スクリプトは以下の通りです。

foreach (@mailto) {
$ok_cnt ++;
if (open(MAIL,"| $sendmail -t")) {
print MAIL "FormMailer: HOT-NET BINGO Original Mailer Vs2.00\n";
print MAIL "Reply-to: $master\n";
print MAIL "From: $master\n";
print MAIL "To: $_\n";
print MAIL "Subject: $subject\n";
print MAIL "Content-Transfer-Encoding: 7bit\n";
print MAIL "Content-Type: text/plain; charset=iso-2022-jp\n";
print MAIL "\n\n";
print MAIL "$message\n";
print MAIL "\n";
close(MAIL);

open(TMP,">>$tmpfile");
print TMP "$ok_cnt\t$_\n";
close(TMP);
          if (($ok_cnt % 100) == 0) {sleep 5;}
}

当初4~500件位で止まってしまっていたので、
100件送信ごとに5秒のインターバルをおいてみました。
何がダメで止まってしまうのでしょうか?

また、何か良い方法があれば教えていただけませんか?
通報する
  • 回答数2
  • 気になる
    質問をブックマークします。
    マイページでまとめて確認できます。

回答 (全2件)

  • 回答No.1
レベル9

ベストアンサー率 65% (25/38)

特にスクリプトの中身を解析していませんが、CGIの 実行タイムアウトではないでしょうか? サーバー側の設定に スリープではなくて、スクリプトを数回に分けて実行するようにしてはどうでしょうか?
特にスクリプトの中身を解析していませんが、CGIの
実行タイムアウトではないでしょうか?
サーバー側の設定に
スリープではなくて、スクリプトを数回に分けて実行するようにしてはどうでしょうか?


  • 回答No.2
レベル10

ベストアンサー率 64% (73/113)

burnさんのおっしゃるように私もhttpのコネクションのタイムアウト ではないかと思います。 このような場合、forkして子プロセスでメール送信の処理を 行い、親のCGIプログラム側はclose(STDOUT)して、サーバには 処理が終わったかのように振舞うテクニックが有名です。 ちょっと検索してみたら、下記URLのページがforkの書き方について 具体的に書かれていたので紹介します ...続きを読む
burnさんのおっしゃるように私もhttpのコネクションのタイムアウト
ではないかと思います。

このような場合、forkして子プロセスでメール送信の処理を
行い、親のCGIプログラム側はclose(STDOUT)して、サーバには
処理が終わったかのように振舞うテクニックが有名です。

ちょっと検索してみたら、下記URLのページがforkの書き方について
具体的に書かれていたので紹介します。

なお、forkの仕方がわかったからといってたくさんのsendmailを
同時に呼びまくって…というのは避けたほうがいいでしょう。
OSの設定や、相手のsmtpサーバが重くてぜんぜん返事をしてくれない
状態などによっては、どんどんsmtpのコネクションが増えたりファイル
ハンドルを使い果たしたりプロセステーブルも…というマズい事態も
ありそうですから、いまのように、ひとつのsendmailが終わるまで
closeで待っている方が賢明だと思います。
このQ&Aで解決しましたか?
関連するQ&A
-PR-
-PR-
こんな書き方もあるよ!この情報は知ってる?あなたの知識を教えて!
このQ&Aにはまだコメントがありません。
あなたの思ったこと、知っていることをここにコメントしてみましょう。

その他の関連するQ&A、テーマをキーワードで探す

キーワードでQ&A、テーマを検索する
-PR-
-PR-
-PR-

特集


関連するQ&A

-PR-

ピックアップ

-PR-
ページ先頭へ