Files
smartmeter/app/helpers/ReadingsMailer.rb
Aart van Halteren 4c0c674f7b html update
2013-08-09 17:32:21 +02:00

56 lines
2.1 KiB
Ruby

require "mail"
class ReadingsMailer
SSL_OPTS = {
:openssl_verify_mode => OpenSSL::SSL::VERIFY_NONE,
}
# IMAP_OPTS = { :address => "mail.van-halteren.net",
# :port => 993,
# :user_name => 'aart@van-halteren.net',
# :password => 'XXXXX',
# :openssl_verify_mode => OpenSSL::SSL::VERIFY_NONE,
# :enable_ssl => true
# }
#
# Class methods
#
class << self
def deliver
# Read SMTP options from smtp.yml
smtp_opts = YAML::load(File.open('config/smtp.yml')).symbolize_keys
smtp_opts.merge!(SSL_OPTS) if smtp_opts[:ssl] && smtp_opts[:ssl_verify_mode].eql?("none")
# Fetch today's usage
usage_today = Reading.diff_on(Date.today)
mail = Mail.new do
delivery_method :smtp, smtp_opts
to 'a.t.van.halteren@vu.nl'
from 'SmartMeter <aart@van-halteren.net>'
subject "SmartMeter report for #{Date.today}"
text_part do
body "Summary for #{Date.today}\n
-------------------------------\n\n
Total kWH electricity consumed: #{usage_today[:total_kwh_consumed_high] + usage_today[:total_kwh_consumed_low]}\n
Total kWH electricity produced: #{usage_today[:total_kwh_produced_high] + usage_today[:total_kwh_produced_low]}\n
Total m3 gas consumed: #{usage_today[:total_m3_gas_consumed]}\n
"
end
html_part do
content_type 'text/html; charset=UTF-8'
body "<h1>Summary for #{Date.today}</h1>" +
"<p>Total kWH electricity consumed: #{usage_today[:total_kwh_consumed_high] + usage_today[:total_kwh_consumed_low]}</p>" +
"<p>Total kWH electricity produced: #{usage_today[:total_kwh_produced_high] + usage_today[:total_kwh_produced_low]}</p>" +
"<p>Total m3 gas consumed: #{usage_today[:total_m3_gas_consumed]}</p>"
end
end
mail.deliver!
end
end
end