铁轨 + Google Apps - 电子邮件发送限制问题

发布于 2024-09-26 13:04:49 字数 248 浏览 3 评论 0原文

目前,为了发送 Rails 电子邮件,我们使用 google apps 来发送电子邮件,但每个帐户/天的电子邮件数量限制为 500 封。

我想知道是否有任何方法可以跟踪我们发送的电子邮件数量,然后根据需要切换帐户 - 例如,如果我们当天的电子邮件数量低于 500 封,则使用帐户 1,如果我们已达到 500 封,使用帐户 2,如果我们打到 999,则使用帐户 3 等。

这可能吗?如果有一个很棒的插件,如果没有,我该怎么做呢?

谢谢!

Currently for sending rails emails we use google apps for our emails, but we're limited to 500 emails/account/day.

I was wondering if there's any way to track how many emails we're sending, and then switch accounts if needed - as in, if we're under 500 emails for the day, use account 1, and if we've hit 500, use account 2, If we hit 999, use account 3 etc.

Is this possible? If there's a plugin that's awesome, if not, how would I go about doing this?

Thanks!

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

夜血缘 2024-10-03 13:04:49

您可以通过创建代理类轻松完成此解决方案。
该类将负责获取电子邮件传送请求、记录该请求并将其转发给适当的邮件程序。

这是一个非常简单的原型,假设您使用的是 Rails 2。

module MailerProxy

  mattr_accessor :emails_count
  @@emails_count = 0

  def self.deliver(klass, method, *args)
    emails_count += 1
    klass.send("deliver_#{method}", *args)
  end

end

MailerProxy.deliver(UserMailer, :email_notification, User.first)

尽管上面的解决方案可能有效,但我强烈建议您使用适当的服务来发送电子邮件,该服务能够处理您的日常费率,而不是尝试创建复杂的解决方法。

You can easily accomplish this solution by creating a proxy class.
The class will be responsible for getting the email delivery request, log the request and forward it to the appropriate Mailer.

This is a very simple prototype, assuming you are using Rails 2.

module MailerProxy

  mattr_accessor :emails_count
  @@emails_count = 0

  def self.deliver(klass, method, *args)
    emails_count += 1
    klass.send("deliver_#{method}", *args)
  end

end

MailerProxy.deliver(UserMailer, :email_notification, User.first)

Despite the solution above might work, I strongly encourage you to use an appropriate service for sending emails which is able to handle your daily rate instead of trying to create complex workarounds.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文