Tag: 电子邮件

Rails Mailer最佳实践 – 控制器或after_create回调?

在常见的Ruby on Rails 3/4应用程序中,有两种选项可在创建模型后传递邮件: 1)直接从控制器的创建操作发送邮件 #listings_controller.rb def create @listing.create(params[:listing]) if @listing.save ListingMailer.new_listing_notice(@listing).deliver format.html {redirect_to @listing} … end end 或2)从模型回调发送邮件 #listing.rb class Listing after_create :notify … def notify ListingMailer.new_listing_notice(self).deliver end end 关于哪种方式更好,目前有共识吗? 从控制器发送提供更多控制,但如果始终发送邮件是否有任何理由不使用回调? 这主要是风格问题,还是有其他重要问题?

在不重新设置排队系统的情况下实施摘要电子邮件的最优雅方式是什么?

我有交易电子邮件系统设置,默认情况下,人们会在事件发生时收到电子邮件: class Comment after_create :email_original_poster def email_original_poster UserMailer.delay.notify_author_of_comment self end end 然而,不是收到电子邮件,我的一大部分用户更喜欢每日或每周摘要。 实现这一目标最干净最优雅的方法是什么? 我已经运行了delayed_job ,但这并不像是一个delayed_job工作,因为我正在排队需要执行操作的数据而不是需要执行的操作。 …没有重新发明排队系统 我知道明显的解决方案是queued_emails表,当然我可以这样做。 我问这个问题的原因是这样做是重新发明一个排队系统。 不仅有很多排队系统,但正如Percona这篇措辞好的post所指出的那样,最好不要自己动手: http://www.engineyard.com/blog/2011/5-subtle-ways-youre-using-mysql-as-a-queue-and-why-itll-bite-you/ 你有没有实现摘要邮件,你使用了delayed_job吗?你学到了什么?

Rails Mailer:将电子邮件发送到本地文件

有没有办法将rails 3中的电子邮件发送到本地文件左右,而不是使用SMTP服务器? 我想测试电子邮件的内容而不使用任何类型的SMTP,理想情况下只在DEV环境中。 最好的是本地SMTP或允许我检查电子邮件,检查电子邮件地址等的东西。

使用Rails和Devise,我想在注册时发送欢迎电子邮件。

如何在用户注册时向用户发送欢迎电子邮件? 我正在使用Devise gem进行身份validation。 SMTP已设置完毕。 我只需要了解如何扩展设计以发送电子邮件。 注意 – 这不是确认电子邮件! UPD解决方案: class User < ActiveRecord::Base after_create :send_welcome_email private def send_welcome_email UserMailer.deliver_welcome_email(self) end end

Rails Email with Unsubscribe链接

我正在开发一个Rails 4.2应用程序,该应用程序每周都会有人们注册的活动。 他们将在每个活动之前收到提醒电子邮件(每周一次)。 我想在电子邮件上单击取消订阅链接。 这似乎是一个常见的任务,但我还没有找到一个好的当前解决方案。 我看到的一些方向是使用MessageVerifier,这是Rails 4.1的新function,不需要保存令牌字符串以与数据库中的比较。 有什么步骤来实现这一目标。 我有一个用户模型和一个事件模型。 电子邮件将发送给注册了定期活动的注册用户。

如何使用/围绕Gmail的SMTP出站发送限制?

我正在使用我的Gmail Apps for Domain帐户在我的rails应用程序中发送标准自动电子邮件(用户注册,忘记密码,通知管理员新评论等)的电子邮件,但我担心每天限制设置500封电子邮件由谷歌。 谷歌建议克服限制的一种方法是使用多个用户帐户。 所以,我已经设置了10个额外的gmail用户帐户(noreply1,noreply2,noreply3等) – 我想跟踪这些帐户中的任何一个在24小时内发送了500封电子邮件并相应地使用空闲帐户。 如何在ActionMailer::Base.smtp_settings动态设置:user_name值? 这是我当前的设置 – 注意:每次都从“noreply1”发送,即使我明确地设置:user_name和:from from“noreply2”: — development.rb — ActionMailer::Base.delivery_method = :smtp ActionMailer::Base.smtp_settings = { :address => “smtp.gmail.com”, :port => “587”, :domain => “mydomain.com”, :authentication => :plain, :user_name => “noreply1@mydomain.com”, :password => “password” } — account.rb — (MODEL, called via a callback) after_create :send_welcome_email … def send_welcome_email #ActionMailer::Base.smtp_settings[:user_name] […]

使用rspec进行ActionMailer测试

我正在开发一个涉及发送/接收电子邮件的Rails 4应用程序 。 例如,我在用户注册,用户评论和应用程序中的其他事件期间发送电子邮件。 我使用动作mailer创建了所有电子邮件,我使用了rspec和shoulda进行测试。 我需要测试邮件是否正确收到了正确的用户。 我不知道如何测试这种行为。 请告诉我如何使用shoulda和rspec测试ActionMailer 。

是否有Rails应用程序的批量电子邮件插件?

有没有人知道一个插件或可用于发送Rails应用程序的批量电子邮件的东西? 具体来说,我希望能够将HTML电子邮件文件传递给rake任务或其他任务,并将其通过电子邮件发送给已注册我网站的所有人,并选中“请向我发送有关XXX的信息”框。 我为自己编写了一个黑客攻击版本,但是我想要一些能够有点智能地限制自己的东西,如果被打断它可以从它停止的地方开始。 更新 :我最终崩溃并拿出我的信用卡并注册了一个真正的批量电子邮件服务,该死的是正确的选择。 由此产生的电子邮件非常专业,它们具有内置分析function,还可与Google Analytics集成,并且由于其他原因而非常棒。 如果您希望使用Rails进行批量电子邮件,我建议使用Mailchimp服务(这里是我的会员链接 ,其中有注册奖金)以及原始人gem 。 这将允许您将您的数据库中的所有用户电子邮件同步到Mailchimp,然后使用真正的批量服务而不是一些蹩脚的补丁。 另一个更新 :我今天听说过Maktoub ,这正是我所描述的。 免责声明:我从来没有使用它,并且可能仍然可以避免使用付费服务,但它仍然可能比滚动你自己更好。

如何生成取消订阅电子邮件的链接

我有一个简单的rails应用程序,用户可以向10多人发送大量电子邮件。 在这封电子邮件中,我希望始终在底部有一个链接,最终用户可以点击该链接取消订阅通知。 我不知道如何解决这个问题。 用户点击的电子邮件中是否只有一个通用链接,然后输入他们的电子邮件地址以取消订阅? 但问题是,其他一些用户可以取消订阅其他人。 我想为每封电子邮件生成一个特定的唯一链接,这样当用户点击它时,它会自动从列表中删除该用户,而不是用户必须做一些额外的工作。 我应该从哪里开始才能实现这个目标?

如何在linux中轻松接收邮件并将其提供给Rails?

我一直在谷歌搜索postfix howto’s,但我仍然无法弄清楚我如何设法在linux-server上接收电子邮件 (更具体的 – Ubuntu)。 我需要的只是一个全能邮箱,它可以获取所有电子邮件并将它们提供给ruby脚本(当然,然后将其传递给Rails)。 我之前能够设置postfix用于发送电子邮件,我不得不说 – 它根本没有痛苦,除了实际安装它之外几乎什么也没做。 你能建议一个好的howto,或者一个配方,或者一个可以解决这个问题的替代易于设置的邮件服务器吗?