在VPS(Ubuntu 8.10)上运行rails 2.2.2应用程序时遇到问题:寻找github repos,帖子,以及涵盖正确设置电子邮件处理方式的任何内容。例如,它应该使用sendmail还是smtp?
答案 0 :(得分:2)
这不是Ubuntu特有的。
配置邮件发送并没有真正的“正确”答案。如果您的sendmail正在使用sendmail(以便“mail foo@bar.com”正常工作),那么请使用它。
如果您有一台本地运行的SMTP服务器,那么可以使用它。
更具体的答案实际上取决于你说:
答案 1 :(得分:0)
您是要发送还是接收电子邮件(或两者兼而有之)?
每种情况下的答案都不同,可能(或可能不)包括在VPS上配置邮件服务器。
如果你需要配置一个邮件服务器,我找到的最好的指南(广泛的和一步一步的)是你在这里找到的slicehost:Mail server setup and configuration
如果您只需要接收电子邮件,最好的办法是避免安装邮件服务器,让服务提供商(或Moogle)处理收到的电子邮件。
然后,您必须编写一些代码以从POP或IMAP服务器获取这些电子邮件,并将它们提供给传入邮件处理程序(通常基于ActionMailer)。编写提取代码的一种简单方法是使用fetcher插件,该插件包含以下与邮件服务器交互的常见模式:
你需要创建类Fetcher的实例,传递将处理电子邮件的对象的类(以及所需的任何其他配置参数),然后调用fetch方法将执行上面的步骤1到4。 / p>
插件位于Github上:http://github.com/look/fetcher/tree/master你可以用它来构建一个守护进程(即一个循环停留在循环中轮询邮件服务器以查找新邮件),或者编写一个批处理文件从cron运行(取自插件文档):
begin
Lockfile.new('cron_mail_fetcher.lock', :retries => 0) do
config = YAML.load_file("#{RAILS_ROOT}/config/mail.yml")
config = config[RAILS_ENV].to_options
fetcher = Fetcher.create({:receiver => MailReceiver}.merge(config))
fetcher.fetch
end
rescue Lockfile::MaxTriesLockError => e
puts "Another fetcher is already running. Exiting."
end