📄 smtp_client.h
字号:
/***************************************************************************************
File: smtp_client.h
Date: 9.8.2002
Version: 0.1
Author: Jari Lahti (jari@violasystems.com)
Description: This file contains SMTP E-mail client implementation constants, prototypes
and structure
Version Info: 9.8.2002 - First version (JaL)
***************************************************************************************/
#ifndef INCLUDE_SMTP_CLIENT_H
#define INCLUDE_SMTP_CLIENT_H
#include "datatypes.h"
/* SMTPC timeout */
#define SMTPC_TOUT 20 /* In secs */
/* States of SMTP state machine */
#define SMTP_UNINITIALIZED 1 /* Not initialized yet */
#define SMTP_CLOSED 2 /* TCP connection closed */
#define SMTP_OPEN_REQUESTED 3 /* User has requested mail read */
#define SMTP_CONNECTIONOPEN_SENT 4 /* TCP connection request sent */
#define SMTP_CONNECTION_OPENED 5 /* TCP Connection opened */
#define SMTP_SERVER_READY 6 /* SMTP server has indicated 220 */
#define SMTP_HELO_SENT 7 /* HELO sent by us */
#define SMTP_HELO_ACKED 8 /* Server has acked HELO by 250 */
#define SMTP_MAILFROM_SENT 9 /* MAIL FROM sent by us */
#define SMTP_MAILFROM_ACKED 10 /* Server has acked MAIL FROM by 250 */
#define SMTP_RCPTTO_SENT 11 /* RCPT To sent by us */
#define SMTP_RCPTTO_ACKED 12 /* Server has acked RCPT TO by 250 */
#define SMTP_DATAREQ_SENT 13 /* DATA sent by us */
#define SMTP_DATAREQ_ACKED 14 /* Server has acked DATA by 354 */
#define SMTP_BODY_SENT 15 /* We have sent RFC822 body */
#define SMTP_SENDING_DATA 16 /* We are sending data... */
#define SMTP_DATAEND_REACHED 17 /* We have no more data */
#define SMTP_DATAEND_SENT 18 /* CRLF.CRLF sent by us */
#define SMTP_DATAEND_ACKED 19 /* Server has acked CRLF.CRLF by 250 */
#define SMTP_QUIT_SENT 20 /* QUIT sent by us */
#define SMTP_QUIT_ACKED 21 /* Server has acked quit by 221 */
/* SMTP Server replies */
#define SMTP_CMD_SERVER_READY '2' + '2' + '0' /* Server outputs when connected */
#define SMTP_CMD_OK '2' + '5' + '0' /* Command executed OK */
#define SMTP_CMD_DATAOK '3' + '5' + '4' /* OK to send data */
#define SMTP_CMD_QUITOK '2' + '2' + '1' /* OK to quit, close connection */
/* Function prototypes (internal) */
INT8 smtpc_connect(UINT32, UINT16);
void smtpc_init(void);
INT32 smtpc_eventlistener(INT8, UINT8, UINT32, UINT32);
void smtpc_run(void);
UINT8 smtpc_getstate(void);
void smtpc_sendhelo(void);
void smtpc_sendmailfrom(void);
void smtpc_sendrcptto(void);
void smtpc_senddatareq(void);
void smtpc_sendbody(void);
void smtpc_senddataend(void);
void smtpc_sendquit(void);
INT16 smtpc_senddata(void);
void smtpc_changestate(UINT8);
/* Function prototypes (callbacks) */
UINT32 smtpc_getserverIP(void);
INT8 smtpc_getdomain(UINT8*);
INT8 smtpc_getsender(UINT8*);
INT8 smtpc_getreceiver(UINT8*);
INT8 smtpc_getsubject(UINT8*);
INT16 smtpc_getdata(UINT8*, UINT16);
void smtpc_dataacked(void);
void smtpc_error(void);
void smtpc_allok(void);
#endif
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -