// Proxy.h #pragma once #include #include #include #define SMTP_STATE_WAIT_FOR_HELO 0 #define SMTP_STATE_WAIT_FOR_MAILFROM 1 #define SMTP_STATE_WAIT_FOR_RCPTTO 2 #define SMTP_STATE_WAIT_FOR_DATA 3 class Proxy { public: Proxy(); void run(boost::asio::ssl::stream* outside); private: boost::asio::io_service& io_service_; boost::asio::ssl::context ssl_context; };