Class: Mailpot::Smtp
- Inherits:
-
EventMachine::Protocols::SmtpServer
- Object
- EventMachine::Protocols::SmtpServer
- Mailpot::Smtp
- Defined in:
- lib/mailpot/smtp.rb
Instance Method Summary collapse
- #current_message ⇒ Object
- #get_server_domain ⇒ Object
- #get_server_greeting ⇒ Object
- #receive_data_chunk(lines) ⇒ Object
- #receive_message ⇒ Object
- #receive_recipient(recipient) ⇒ Object
- #receive_reset ⇒ Object
- #receive_sender(sender) ⇒ Object
Instance Method Details
#current_message ⇒ Object
4 5 6 |
# File 'lib/mailpot/smtp.rb', line 4 def @current_message ||= {} end |
#get_server_domain ⇒ Object
17 18 19 |
# File 'lib/mailpot/smtp.rb', line 17 def get_server_domain Socket.gethostbyname(Socket.gethostname).first end |
#get_server_greeting ⇒ Object
13 14 15 |
# File 'lib/mailpot/smtp.rb', line 13 def get_server_greeting "ESMTP Sendmail 8.12.9/8.12.9;" end |
#receive_data_chunk(lines) ⇒ Object
31 32 33 34 35 |
# File 'lib/mailpot/smtp.rb', line 31 def receive_data_chunk(lines) [:source] ||= "" [:source] += lines.join("\n") true end |
#receive_message ⇒ Object
37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 |
# File 'lib/mailpot/smtp.rb', line 37 def port, ip = Socket.unpack_sockaddr_in(get_peername) [:ip] = ip [:port] = port Mailpot::Mail. puts "==> SMTP: Received message from '#{[:sender]}' (#{[:source].length} bytes)" true rescue puts "*** Error receiving message: #{.inspect}" puts " Exception: #{$!}" puts " Backtrace:" $!.backtrace.each do |line| puts " #{line}" end puts " Please submit this as an issue at https://github.com/mjezorek/Mailpot/issues" false ensure @current_message = nil end |
#receive_recipient(recipient) ⇒ Object
25 26 27 28 29 |
# File 'lib/mailpot/smtp.rb', line 25 def receive_recipient(recipient) [:recipients] ||= [] [:recipients] << recipient true end |
#receive_reset ⇒ Object
8 9 10 11 |
# File 'lib/mailpot/smtp.rb', line 8 def receive_reset @current_message = nil true end |
#receive_sender(sender) ⇒ Object
21 22 23 |
# File 'lib/mailpot/smtp.rb', line 21 def receive_sender(sender) [:sender] = sender end |