私はPony gemを使用してメールを送信しています。私に両方のオプションが公開されていると仮定すると、smtpまたは:sendmailを使用することにメリットがありますか?メモリ使用量を最小限に抑えるために、Ponyの:sendmailまたは:smtpモードを選択する必要がありますか?
オプション1:SMTP
ここでは、RubyはSMTPサーバに直接接続します。
Pony.mail(
:to => '[email protected]',
:via => :smtp,
:via_options => {
:address => 'smtp.yourserver.com',
:port => '25',
:user_name => 'user',
:password => 'password',
:authentication => :plain, # :plain, :login, :cram_md5, no auth by default
:domain => "localhost.localdomain" # the HELO domain provided by the client to the server
})
オプション2:sendmailはここ
、ローカルsendmail
バイナリが生み出されます。特に
Pony.mail(
:to => '[email protected]',
:via => :sendmail,
:via_options => {
:location => '/path/to/sendmail',
:arguments => '-t'
})
、私はそれを取り付ける前に、メモリにファイルの内容全体を読み込む心配です - が、これは、両方のモードに必要であると考えられる:
Pony.mail([...], :attachments => {"foo.zip" => File.read("path/to/foo.zip")})
これは似ていますSendmail vs SMTPにありますが、それらの回答は私の質問には当てはまりません。
私はこれが今古い議論ですけどしかし、私はあなたがこれに答えることを望んだ - ポニーは、すべての電子メールが送信された後に(:smtpメソッドを使用すると)SMTP接続を閉じますか?私は毎晩、約5万通の電子メールを送信するcronの仕事でそれを使用したいと思います。私たちが手に入れることができるすべてのパフォーマンスを確実に利用したいと思います。 – dimitarvp