2011-08-13 5 views
0

ActionMailerを使用して登録済みのすべてのユーザーに毎日電子メールを送信しようとしています。ActionMailerを使用してアカウントを持つすべてのユーザーに電子メールを送信

スケジューリングの部分は問題ありません。私は各ユーザーに電子メールを送信する方法を理解できません。おそらく単純な解決策がありますが、非常に長い1日です。

ありがとうございました。

+0

正確な問題は何ですか?なぜか 'User.all.each {| u | ...} 'など? –

+0

私はこのコードをどこに置くべきかわかりません。スケジューラで?またはメーラーモデル?前もって感謝します。 –

+0

スケジューリングには何を使用していますか? –

答えて

1

ソリューションは非常に簡単です:あなたは、このソリューションの自分を考えることができなかった場合

scheduler.cron '0 0 22 * * *' do 
    # every day at 22:00:00 
    User.all.each do |user| 
    # Send your email 
    end 
end 

は、正直に言うと、私はあなたが先に進む前に、レールの基本についての詳細を学ぶべきだと思います。

ユーザーの基盤が大きくなると、毎日各ユーザーに電子メールを送信するのがすぐに難しくなります(負荷を他のサーバーに分散する必要があるかもしれません)。この範囲では、あなたのIPとドメインをスパムとして警告される危険にさらします。これを回避する方法は自明ではなく、数多くの複雑な手法(SPF、DKIM、正しいrDNSレコード、ホワイトリストサービスなど)を必要とします。

私は、多くのユーザーは、単に電子メールを送信する方法よりも多くを知る必要があります。

関連する問題