⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 smtp_client.h

📁 opentcp_mcf5282原代码
💻 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 + -