Qsmtp  0.30dev
Enumerations | Functions | Variables
greeting.h File Reference

definitions for EHLO parsing part of Qremote More...

Go to the source code of this file.

Enumerations

enum  ehlo_extensions {
  esmtp_size = 0x1, esmtp_pipelining = 0x2, esmtp_starttls = 0x4, esmtp_8bitmime = 0x8,
  esmtp_auth = 0x10, esmtp_chunking = 0x20, esmtp_x_final = esmtp_auth
}
 

Functions

int esmtp_check_extension (const char *input)
 check if the line contains a known ESMTP extension More...
 
int greeting (void)
 greet the server, try EHLO and fall back to HELO if needed More...
 

Variables

unsigned long remotesize
 
const char * auth_mechs
 

Detailed Description

definitions for EHLO parsing part of Qremote

Enumeration Type Documentation

< the SMTP extensions announced by the remote host

Enumerator
esmtp_size 

SIZE (RfC 1870)

esmtp_pipelining 

PIPELINING (RfC 2920)

esmtp_starttls 

STARTTLS (RfC 3207)

esmtp_8bitmime 

8BITMIME (RfC 6152)

esmtp_auth 

AUTH (RfC 2554)

esmtp_chunking 

CHUNKING (RfC 3030)

esmtp_x_final 

end delimiter

Function Documentation

int esmtp_check_extension ( const char *  input)

check if the line contains a known ESMTP extension

Parameters
inputthe line as sent by the server (ommitting the leading "250 " or "250-")
Returns
the extension code detected
Return values
0no known extension code was found
-1a valid extension code was found, but the line had a parse error
int greeting ( void  )

greet the server, try EHLO and fall back to HELO if needed

Returns
the SMTP extensions supported
Return values
<0error code
-EDONEthe server reply was syntactically correct, but an error response

In case of incoming syntax errors the faulting line will be written to log.

Variable Documentation

const char* auth_mechs

the AUTH mechanisms supported by the remote host

unsigned long remotesize

the maximum size allow by the remote host or 0 if unlimited or unknown