Module: Vmail::ReplyTemplating
- Included in:
- ImapClient
- Defined in:
- lib/vmail/reply_templating.rb
Instance Method Summary collapse
- #reply_cc ⇒ Object
- #reply_headers ⇒ Object
- #reply_recipient ⇒ Object
- #reply_template(replyall = false) ⇒ Object
Instance Method Details
#reply_cc ⇒ Object
47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 |
# File 'lib/vmail/reply_templating.rb', line 47 def reply_cc return nil unless (@replyall || @always_cc) xs = if @replyall ((current_mail['cc'] && current_mail['cc'].decoded) || "") .split(/,\s*/) + ((current_mail['to'] && current_mail['to'].decoded) || "") .split(/,\s*/) else [] end xs = xs.select {|x| email = (x[/<([^>]+)>/, 1] || x) email !~ /#{ reply_recipient }/ \ && email !~ /#@username/ \ && (@always_cc ? (email !~ /#@always_cc/) : true) } if @always_cc xs << @always_cc end xs.uniq.select {|x| x != reply_recipient }.join(', ') end |
#reply_headers ⇒ Object
16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 |
# File 'lib/vmail/reply_templating.rb', line 16 def reply_headers reply_subject = .subject if reply_subject !~ /Re: / reply_subject = "Re: #{ reply_subject }" end date = DateTime.parse(.date) sender = .sender reply_quote_header = date ? "On #{ date.strftime('%a, %b %d, %Y at %I:%M %p') }, #{ sender } wrote:\n\n" : "#{ sender } wrote:\n" reply_body = reply_quote_header + ( .plaintext.split(/^-+$/,2)[1].strip.gsub(/^(?=>)/, ">").gsub(/^(?!>)/, "> ") ) { 'references' => ., # set 'from' to user-specified value 'from' => "#@name <#@from>", 'to' => reply_recipient, 'cc' => reply_cc, 'bcc' => @always_bcc, 'subject' => reply_subject, 'body' => reply_body } rescue $logger.debug $! raise end |
#reply_recipient ⇒ Object
43 44 45 |
# File 'lib/vmail/reply_templating.rb', line 43 def reply_recipient current_mail.header['Reply-To'] || .sender end |
#reply_template(replyall = false) ⇒ Object
8 9 10 11 12 13 14 |
# File 'lib/vmail/reply_templating.rb', line 8 def reply_template(replyall=false) @replyall = replyall log "Sending reply template" h = reply_headers body = h.delete('body') format_headers(h) + "\n\n\n" + body + signature end |