使用MailChimp或Rails网站向客户发送简报

时间:2015-10-19 23:02:56

标签: ruby-on-rails ruby-on-rails-4 mailchimp sendgrid newsletter

是否值得花时间和精力在我们的rails网站上创建一个功能,每周一次向我们的客户数据库发送电子邮件,或者是MailChimp全能的One用来向成千上万的人发送每周通讯?如果我们使用我们的rails应用程序可以将SenderGrid或其他功能作为我们的时事通讯的选项吗?

我们目前使用Mailchimp并且我们喜欢它,但公司的所有者希望网站在一个简单的地方为我们做所有事情。

感谢您的反馈!

3 个答案:

答案 0 :(得分:1)

如果没有像Mailchimp或SenderGrid这样的第三方,您将不得不做大量的工作来处理取消订阅功能和分析(跳出,打开,点击......)等等。如果你没有&#39处理取消订阅,贵公司可能会遇到严重的法律纠纷。您还需要以某种方式设置正确的电子邮件服务器,因为使用Rails'没有SMTP配置的ActionMailer将具有可怕的传送速率(电子邮件客户端会将您的发送解释为欺骗性电子邮件)。

如果您希望您的网站处理电子邮件简报计划的逻辑,您可以在您的网站中构建逻辑,并让网站通过API与Mailchimp(例如)进行通信,以便安排发送和处理取消订阅。您还可以通过API检索广告系列统计信息,并将其写回您的网站数据库或其他任何内容。这可能是值得的,取决于你想要做什么。

答案 1 :(得分:1)

  

希望网站在一个简单的地方为我们做一切。

在这种情况下,它不是" Mailchimp或胸围"的问题,它是abstraction的问题。

具体而言,所有者可能需要一个中央"仪表板"在他的网络仪表板上(有点像CRM的工作原理),他可以从中发现有多少会员,电子邮件等。

因此,我会努力使用Mandrill并整理应用中的数据,如下所示:

#app/models/user.rb
class User < ActiveRecord::Base
   has_many :mailouts
   has_many :newsletters, through: :mailouts
end

#app/models/mailout.rb
class Mailout < ActiveRecord::Base
   #columns id | user_id | newsletter_id | created_at | updated_at | sent_at | received_at
   belongs_to :user
   belongs_to :newsletter
end

#app/models/newsletter.rb
class Newsletter < ActiveRecord::Base
   #columns id | title | body | created_at | updated_at
   has_many :mailouts
   has_many :users, through: :mailouts

   after_create :set_mailouts

   private

   def set_mailouts
      User.find_each do |user|
        self.mailouts.create(user: user)
      end
   end
end

这将使您能够使用以下内容:

#app/controllers/newsletters_controller.rb
class NewslettersController < ApplicationController
   def new
      @newsletter = Newsletter.new
   end

   def create
      @newsletter = Newsletter.new newsletter_params
      @newsletter.save
   end
end

after_create的效率非常低,但是它表明你可以有一个rake任务,可以这样做:

@newsletter = Newsletter.find x
@newsletter.mailouts.each do |mailout|
   # send mailout to mandrill
end

要记住的重要事项是 Mandrill SendGrid 基础设施应用程序。 Mailchimp本身在Mandrill基础架构之上提供UI功能。

如果你想使用Mailchimp之类的东西,你可能最终会做的是每周将用户列表发送到Mailchimp,允许你通过他们的系统发送新闻通讯。

创建自己的功能&amp;链接到Mandrill只会让您能够管理自己应用程序上的数据,从而改变您的实现。在考虑结构时要记住一些事情。

答案 2 :(得分:1)

尝试MailyHerald。它是一个Rails引擎,可以帮助您管理您的新闻简报并为您提供漂亮的网络ui。它也适用于Mandrill和其他电子邮件服务。