class ActionMailbox::PostfixRelayer
def relay(source)
def relay(source) case response = post(source) when Net::HTTPSuccess Result.new "2.0.0 Successfully relayed message to Postfix ingress" when Net::HTTPUnauthorized Result.new "4.7.0 Invalid credentials for Postfix ingress" else Result.new "4.0.0 HTTP #{response.code}" end rescue IOError, SocketError, SystemCallError => error Result.new "4.4.2 Network error relaying to Postfix ingress: #{error.message}" rescue Timeout::Error Result.new "4.4.2 Timed out relaying to Postfix ingress" rescue => error Result.new "4.0.0 Error relaying to Postfix ingress: #{error.message}" end