Ruby on rails 在Rails中处理电子邮件回跳
我已经为我的rails应用程序构建了一个非常基本的CRM系统,它允许我发送带有自定义文本的每周用户活动摘要,并创建多部分营销消息,我可以通过基本的管理界面进行配置和发送。我对自己在发送端所做的工作感到满意(除了我没有尝试对其功能进行批量测试这一事实),但我关心的是如何处理反弹 我偶然发现了这个插件及其相关脚本: 我正在使用谷歌应用程序来处理我的邮件,但我对Perl的了解还不够,不想把上面的插件搞乱——我已经够头疼的了 我正在寻找一个简单的解决方案来处理Rails中的反弹。我所有的电子邮件都将从这样一个地址发出,该地址将在谷歌应用程序中管理:news@mydomain.com." 这方面最好的工作流程是什么?任何人都可以发布他们正在使用的示例解决方案吗?请记住,我正在使用谷歌应用程序处理邮件 任何指导、链接或基本工作流最佳实践都将不胜感激 谢谢!Ruby on rails 在Rails中处理电子邮件回跳,ruby-on-rails,email,bouncedemail,Ruby On Rails,Email,Bouncedemail,我已经为我的rails应用程序构建了一个非常基本的CRM系统,它允许我发送带有自定义文本的每周用户活动摘要,并创建多部分营销消息,我可以通过基本的管理界面进行配置和发送。我对自己在发送端所做的工作感到满意(除了我没有尝试对其功能进行批量测试这一事实),但我关心的是如何处理反弹 我偶然发现了这个插件及其相关脚本: 我正在使用谷歌应用程序来处理我的邮件,但我对Perl的了解还不够,不想把上面的插件搞乱——我已经够头疼的了 我正在寻找一个简单的解决方案来处理Rails中的反弹。我所有的电子邮件都将从这
-一个好的,事实证明,使用Github上的Fetcher插件比我想象的更容易。对于那些对一种似乎有效的方法感兴趣的人,以下是我所做的: 1) 安装Fetcher插件,如下所示:script/plugin Installgit://github.com/look/fetcher.git 2) 说明建议您运行一个生成器来创建一个守护进程,如下所示:script/generate fetcher_daemon MailerDaemon。我建议这样做,因为它将在config/中生成一个YML文件,您可以使用邮件服务器信息(在我的例子中是Gmail)修改该文件 它还生成一个守护进程来运行Fetcher。我尝试过使用它,但始终出现以下错误:Mysql::错误:Mysql服务器已消失:显示
电子邮件\u黑名单中的字段。这是守护进程在MySQL存储记录之前消失的结果,因此我放弃了使用守护进程,而是设置了一个cron
3) 在config中配置.yml文件,我用您的邮件设置将其重命名为mail.yml。对于gmail pop,它们看起来像这样:
development:
type: pop
server: pop.gmail.com
port: 995
ssl: true
username: myemailaddress@gmail.com
password: mypassword
以下是您需要处理的代码:
型号/邮件处理器.rb
class MailProcessor < ActionMailer::Base
def receive(email)
email = EmailBlacklist.find_or_create_by_email(email.to.first)
end
def self.grab_bounces
config = YAML.load_file("#{RAILS_ROOT}/config/mail.yml")
config = config[RAILS_ENV].to_options
fetcher = Fetcher.create({:receiver => MailProcessor}.merge(config))
fetcher.fetch
end
end
然后可以将自动生成的mailer\u daemon\u fetcher.rb文件放入脚本/目录中
希望这对其他人有帮助。如果您想进行测试,只需从控制台调用MailProcessor.grab\u bouncess即可。确保您的收件箱中有一些配置为可访问的电子邮件。顺便说一句,非企业级google邮件每天限500封感谢Sam,希望这不会成为问题。
namespace :email do
desc "sends various types of marketing and automated emails and processes bouncebacks"
task(:process_bounces => :environment) do
MailProcessor.grab_bounces
end
end