ruby-on-rails – 在rails3中制作简报的最佳方式是什么
发布时间:2020-12-17 04:17:31 所属栏目:百科 来源:网络整理
导读:有没有宝石可以做到这一点,如果没有,最好的方法是什么.我假设我将电子邮件存储在时事通讯数据库中,并且需要一个可以同时通过电子邮件发送给所有人的表单.谢谢! 解决方法 我所知道的没有宝石. 实际上,由于处理问题,最好的方法是通过提供商的API使用外部批量
有没有宝石可以做到这一点,如果没有,最好的方法是什么.我假设我将电子邮件存储在时事通讯数据库中,并且需要一个可以同时通过电子邮件发送给所有人的表单.谢谢!
解决方法
我所知道的没有宝石.
实际上,由于处理问题,最好的方法是通过提供商的API使用外部批量电子邮件服务提供商. 但是,构建自己的新闻稿系统与构建常规MVC没有什么不同.只有添加邮件和邮件的视图. (1)因此,您创建的模型处理注册数据(:name,:email,:etc …)和处理简报本身的模型. (2)处理它的控制器(CRUD)(:发送).发送接收每个收件人,将数据发送到邮件程序,然后发送它. def send @newsletter = Newsletter.find(:params['id']) @recipients = Recipient.all @recipients.each do |recipient| Newsletter.newsletter_email(recipient,@newsletter).deliver end end (3)Mailer构建一个电子邮件,如果你想做类似的事情,在每封电子邮件中做一些更改,并将其返回到控制器动作发送以进行传递. class Newsletter < ActionMailer::Base default :from => "my_email@example.com",:content_type => "multipart/mixed" def newsletter_email(recipient,newsletter) # these are instance variables for newsletter view @newsletter = newsletter @recipient = recipient mail(:to => recipient.email,:subject => newsletter.subject) end end (4)Ofc,您需要与常规视图一样的邮件视图.好的多部分有: > newsletter_email.html.erb(或haml) 当您要发送html和纯文本电子邮件时.实例变量在邮件程序中定义. 而且……就是这样.那么你可以使用延迟工作发送它们,因为发送超过几百封电子邮件可能需要一段时间.几个ms时间n可能是很多时间. 玩得开心. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |