Embedded SMTP Client
Overview
Data Members
Functions
Overview
The embedded SMTP (Simple Mail Transfer Protocol) client is a cross platform SMTP implementation used with applications that require SMTP client/server functions. The gxsSMTPClient class is derived from the gxSocket class and conforms to RFC 821: http://www.faqs.org/rfcs/rfc821.html
Public Data Members
char gxsSMTPClient:: reply_buf[gxsBUF_SIZE]Buffer used to hold the last reply.
char gxsSMTPClient:: command_buf[gxsBUF_SIZE]Buffer used to hold the last command.
int gxsSMTPClient:: time_out_secNumber of seconds before a blocking timeout.
int gxsSMTPClient:: time_out_usecNumber of microseconds before a blocking timeout.
Functions
gxsSMTPClient::gxsSMTPClient()
gxsSMTPClient::~gxsSMTPClient()
gxsSMTPClient::ConnectClient()
gxsSMTPClient::GetSMTPTimeStamp()
gxsSMTPClient::RecvResponse()
gxsSMTPClient::SMTPData()
gxsSMTPClient::SMTPLogin()
gxsSMTPClient::SMTPLogout()
gxsSMTPClient::SMTPMailFrom()
gxsSMTPClient::SMTPRSet()
gxsSMTPClient::SMTPRcptTo()
gxsSMTPClient::SMTPSendMessage()
gxsSMTPClient::SendCommand()
gxsSMTPClient::SetTimeOut()
gxsSMTPClient::WaitForReply()
gxsSMTPClient::gxsSMTPClient()Default class constructor.
gxsSMTPClient::~gxsSMTPClient()Class destructor.
gxSocketError gxsSMTPClient::ConnectClient(const char *host, int port = gxSOCKET_SMTP_PORT)Public member function used to connect a SMTP client to a server. Returns zero if no errors occur.
void gxsSMTPClient::GetSMTPTimeStamp(char *sbuf)Public member function that passes back an SMTP time string in the following format:
Weekday, Day Month Year HH:MM:SS - Timezone
int gxsSMTPClient::RecvResponse(char *buf, int bytes, const char *response)Public Blocking receive function used to read a reply from an SMTP server following a command. If the specified response is not received within the timeout period this function will return false to indicate an error. Returns true if successful.
gxSocketError gxsSMTPClient::SMTPData(const char *body_text, int body_len)Public member function used to send a text body. Returns zero if no errors occur.
gxSocketError gxsSMTPClient::SMTPLogin(const char *local_host_name)Public member function used to send the SMTP "Hello" command. The "local_host_name" variable must be a null terminated string set to either your domain name or fully qualified host name. Returns zero if no errors occur.
gxSocketError gxsSMTPClient::SMTPLogout()Public member function used to send the SMTP "QUIT" command. Returns zero if no errors occur.
gxSocketError gxsSMTPClient::SMTPMailFrom(const char *from_email_address)Public member function used to send the SMTP "MAIL FROM" command. The "from_email_address" variable must be a null terminated string set to your return email address. Returns zero if no errors occur.
gxSocketError gxsSMTPClient::SMTPRSet()Public member function used to send the SMTP "Reset" command. Returns zero if no errors occur.
gxSocketError gxsSMTPClient::SMTPRcptTo(const char *to_email_address)Public member function used to send the SMTP "RCPT TO" command. The "to_email_address" variable must be a null terminated string set to a valid email recipient. Returns zero if no errors occur.
gxSocketError gxsSMTPClient::SMTPSendMessage(const char *to, const char *from, const char *subject, const char *body)Public member function used to send a formatted email message. The "to", "from", "subject", and "body" variable must be null terminated strings set to a valid email recipient, your return email address, a subject, and a message body. Returns zero if no errors occur.
gxSocketError gxsSMTPClient::SendCommand(const char *command, const char *response, const char *args = 0)Public member function used to send a command to an SMTP server and read the server's response. Returns zero if no errors occur.
void gxsSMTPClient::SetTimeOut(int seconds, int useconds)Public member function used to set the SMTP timeout value.
int gxsSMTPClient::WaitForReply()Public member function that returns false if a reply time is longer then the timeout values.