bsw@1248: Newsletter = mondelefant.new_class() bsw@1248: Newsletter.table = 'newsletter' bsw@1248: bsw@1248: function Newsletter:send_next_newsletter() bsw@1248: local newsletter_to_send = NewsletterToSend:get_next() bsw@1248: if not newsletter_to_send then bsw@1248: return false bsw@1248: end bsw@1248: local newsletter = newsletter_to_send.newsletter bsw@1248: bsw@1248: local newsletter_to_send = NewsletterToSend:by_newsletter_id(newsletter.id) bsw@1248: newsletter_to_send:load("member") bsw@1248: bsw@1248: newsletter.sent = "now" bsw@1248: newsletter:save() bsw@1248: bsw@1248: io.stderr:write("Sending newsletter " .. newsletter.id .. " to " .. (#newsletter_to_send) .. " members\n") bsw@1248: bsw@1248: for i, n in ipairs(newsletter_to_send) do bsw@1248: bsw@1248: local member = newsletter_to_send.member bsw@1248: bsw@1248: if not member.notify_email then bsw@1248: return bsw@1248: end bsw@1248: bsw@1248: io.stderr:write("Sending newsletter " .. newsletter.id .. " to " .. member.notify_email .. "\n") bsw@1248: bsw@1248: local success = net.send_mail{ bsw@1248: envelope_from = config.mail_envelope_from, bsw@1248: from = config.mail_from, bsw@1248: reply_to = config.mail_reply_to, bsw@1248: to = member.notify_email, bsw@1248: subject = newsletter.subject, bsw@1248: content_type = "text/plain; charset=UTF-8", bsw@1248: content = newsletter.content bsw@1248: } bsw@1248: bsw@1248: end bsw@1248: bsw@1248: end