Я пытаюсь отправить электронное письмо нескольким пользователям. У меня есть модель, которая отправляет @users, у которой есть все пользователи, которых я собираюсь рассылать ... теперь, когда в User_mailer у меня возникают проблемы с выяснением того, как сообщить процессу mail_out для отправки каждому из пользователей (установить каждый получатель - пользователь.). Подводя итог, я хочу установить задание cron для запуска процесса User.mail_out каждое утро, отправить его каждому пользователю в переменной @users, передаваемой в модель User_mailer. Может кто-нибудь предложить способ сделать это? В настоящее время я получаю следующее сообщение об ошибке при использовании того, что я написал ниже:Синтаксис отправки нескольких пользователей
/usr/lib/ruby/gems/1.8/gems/rails-2.3.5/lib/commands/runner.rb:48: /usr/lib/ruby/1.8/net/smtp.rb:680:in `check_response': 501 5.1.3 Bad recipient address syntax (Net::SMTPSyntaxError)
User.rb
class User < ActiveRecord::Base
acts_as_authentic
validates_format_of :email, :with => /\A([^@\s]+)@((?:[-a-z0-9]+\.)+[a-z]{2,})\Z/i, :on => :create
validates_presence_of :birthday => "cannot be left blank"
def self.mail_out
weekday = Date.today.strftime('%A').downcase
@users = find(:all, :conditions => {"#{weekday}sub".to_sym => 't'})
UserMailer.deliver_mail_out(@users)
end
end
User_Mailer.rb
class UserMailer < ActionMailer::Base
def mail_out(users)
@recipients = { }
users.each do |user|
@recipients[user.email]
end
from "somewhere.net"
subject "Check it out"
body :user => @recipients
end
def subscribe(user)
recipients user.email
from "somewhere.net"
subject "Welcome!"
body :user => user
end
end
Спасибо, я все ближе ... хотя я получаю эту ошибку: Теперь SyntaxError (/ дом/tnederlof /Dropbox/Ruby/daily_trailer/app/models/user_mailer.rb:7: синтаксическая ошибка, неожиданный tASSOC, ожидающий '}' –
Nevermind Я получил это, спасибо! –