Prev / Next

2009-04-10 / smtp で大量にメールを送信する

Postfix のパフォーマンス確認のため,
以下のような script で大量に送信をしてみた.

#!/usr/bin/ruby
require 'net/smtp'

THREADS = 4
NUM = 5000  # 1 thread 当たりの送信件数
CONTENT = "a" * 4 * 1024
MAILSERVER = "postfix.example.com"
TO = "[email protected]"

threads = []

(1..THREADS).each do |i|
  threads << Thread.new do
    puts "start thread: #{1}"
    (1..NUM).each do |i|
      Net::SMTP.start(MAILSERVER, 25) { |smtp|
        smtp.send_mail("test mail #{i} to #{TO}.\n#{CONTENT}",
                       "[email protected]",  TO)
      }
    end
  end
end

threads.each do |i|
  i.join
end


comments powered by Disqus