def send(recipient, subject, message)
{:recipient => recipient, :subject => subject, :message => message}.each do |k,v|
if v.nil? or v.empty?
raise(ArgumentError, "EmailHelper error: Missing or invalid #{k}: #{v.inspect}")
end
end
sender = trait[:sender_full] || "#{trait[:sender_address]} <#{trait[:sender_address]}>"
subject = [trait[:subject_prefix], subject].join(' ').strip
id = trait[:id_generator].call
email = %{From: #{sender}
To: <#{recipient}>
Date: #{Time.now.rfc2822}
Subject: #{subject}
Message-Id: #{id}
#{message}
}
send_smtp( email, recipient, subject )
end