Project

General

Profile

« Previous | Next » 

Revision 275e20ec

Added by Marc Dequènes about 15 years ago

  • ID 275e20ecd94d3a83477dbec7e39e75ee6f619fee

[evol] create basic mail reply and send it using SMTP

View differences:

lib/cyborghood/mail.rb
require 'tmail'
require 'tmail_extra'
require 'gpgme'
require 'net/smtp'
# This class handles RFC3156 signed messages, validates them, and extract orders properly.
# Encrypted content are not implemented yet.
module CyborgHood
class Mail < Delegator
def initialize(msg)
@config = Config.instance
# unquote headers and transform into TMail object
@mail = TMail::Mail.parse(TMail::Unquoter.unquote_and_convert_to(msg, "UTF-8"))
end
......
nil
end
def create_reply
mail_reply = @mail.create_reply
mail_reply.from_addrs = TMail::Address.parse(@config.mail.from_address || self.to.first)
self.class.new(mail_reply.to_s)
end
def deliver
smtp_server = @config.mail.smtp_server || "localhost"
smtp_port = @config.mail.smtp_port || 25
smtp_from = @mail.from_addrs.collect{|a| a.address}.join(", ")
smtp_to = @mail.to_addrs.collect{|a| a.address}
Net::SMTP.start(smtp_server, smtp_port) do |smtp|
smtp.send_message(@mail.to_s, smtp_from, smtp_to)
end
end
def to_s
@mail.to_s
end
end
end

Also available in: Unified diff