# SMTP E-mail sender
[Apps]

Collaboration diagram for SMTP E-mail sender:

## Data Structures
struct | smtp_state
## Files
file | smtp.c
file | smtp.h
## Defines
#define | ISO_nl 0x0a
#define | ISO_cr 0x0d
#define | ISO_period 0x2e
#define | ISO_2 0x32
#define | ISO_3 0x33
#define | ISO_4 0x34
#define | ISO_5 0x35
#define | SMTP_ERR_OK 0
#define | SMTP_SEND(to, cc, from, subject, msg) smtp_send(to, cc, from, subject, msg, strlen(msg))
#define | UIP_APPCALL smtp_appcall
## Typedefs
typedef struct smtp_state | uip_tcp_appstate_t
## Functions
void | smtp_appcall (void)
void | smtp_configure (char *lhostname, void *server)
unsigned char | smtp_send (char *to, char *cc, char *from, char *subject, char *msg, u16_t msglen)
void | smtp_init (void)
void | smtp_done (unsigned char error)
void | smtp_configure (char *localhostname, u16_t *smtpserver)
unsigned char | smtp_send (char *to, char *from, char *subject, char *msg, u16_t msglen)

## Detailed Description

The Simple Mail Transfer Protocol (SMTP) as defined by RFC821 is the standard way of sending and transfering e-mail on the Internet. This simple example implementation is intended as an example of how to implement protocols in uIP, and is able to send out e-mail but has not been extensively tested.

## Define Documentation

#define ISO_2 0x32

#define ISO_3 0x33

#define ISO_4 0x34

#define ISO_5 0x35

#define ISO_cr 0x0d

#define ISO_nl 0x0a

#define ISO_period 0x2e

#define SMTP_ERR_OK 0

Error number that signifies a non-error condition.

#define SMTP_SEND | ( | to,
|  | cc,
|  | from,
|  | subject,
|  | msg |  | ) | smtp_send(to, cc, from, subject, msg, strlen(msg))

#define UIP_APPCALL smtp_appcall

## Typedef Documentation

typedef struct smtp_state uip_tcp_appstate_t

## Function Documentation

void smtp_appcall | ( | void |  | ) |

Here is the call graph for this function:

void smtp_configure | ( | char * | localhostname,
|  | u16_t * | smtpserver |
| ) |  |  |

void smtp_configure | ( | char * | lhostname,
|  | void * | server |
| ) |  |  |

Specificy an SMTP server and hostname.

This function is used to configure the SMTP module with an SMTP server and the hostname of the host.

Parameters:

  | lhostname | The hostname of the uIP host.
  | server | A pointer to a 4-byte array representing the IP address of the SMTP server to be configured.

void smtp_done | ( | unsigned char | error | ) |

Callback function that is called when an e-mail transmission is done.

This function must be implemented by the module that uses the SMTP module.

Parameters:

  | error | The number of the error if an error occured, or SMTP_ERR_OK.

Here is the call graph for this function:

void smtp_init | ( | void |  | ) |

unsigned char smtp_send | ( | char * | to,
|  | char * | from,
|  | char * | subject,
|  | char * | msg,
|  | u16_t | msglen |
| ) |  |  |

unsigned char smtp_send | ( | char * | to,
|  | char * | cc,
|  | char * | from,
|  | char * | subject,
|  | char * | msg,
|  | u16_t | msglen |
| ) |  |  |

Send an e-mail.

Parameters:

  | to | The e-mail address of the receiver of the e-mail.
  | cc | The e-mail address of the CC: receivers of the e-mail.
  | from | The e-mail address of the sender of the e-mail.
  | subject | The subject of the e-mail.
  | msg | The actual e-mail message.
  | msglen | The length of the e-mail message.

Here is the call graph for this function: