我正在使用Pony gem发送电子邮件。假设我有两种选择,使用 :smtp 或 :sendmail 是否有内存优势?
选项 1:smtp
在这里,Ruby 直接连接到 SMTP 服务器。
Pony.mail(
:to => 'you@example.com',
: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
二进制文件。
Pony.mail(
:to => 'you@example.com',
:via => :sendmail,
:via_options => {
:location => '/path/to/sendmail',
:arguments => '-t'
})
特别是,我担心在附加文件之前将文件的全部内容加载到内存中 -但这在两种模式下似乎都是必要的:
Pony.mail([...], :attachments => {"foo.zip" => File.read("path/to/foo.zip")})
这类似于Sendmail vs SMTP,但这些答案并未涵盖我的问题。