start the path to rust

This commit is contained in:
2026-02-10 15:54:09 +00:00
parent 237dba3bab
commit 8bd8c295b0
318 changed files with 28352 additions and 428 deletions

View File

@@ -0,0 +1,129 @@
/**
* SMTP Client Constants and Error Codes
* All constants, error codes, and enums for SMTP client operations
*/
/**
* SMTP response codes
*/
export declare const SMTP_CODES: {
readonly SERVICE_READY: 220;
readonly SERVICE_CLOSING: 221;
readonly AUTHENTICATION_SUCCESSFUL: 235;
readonly REQUESTED_ACTION_OK: 250;
readonly USER_NOT_LOCAL: 251;
readonly CANNOT_VERIFY_USER: 252;
readonly START_MAIL_INPUT: 354;
readonly SERVICE_NOT_AVAILABLE: 421;
readonly MAILBOX_BUSY: 450;
readonly LOCAL_ERROR: 451;
readonly INSUFFICIENT_STORAGE: 452;
readonly UNABLE_TO_ACCOMMODATE: 455;
readonly SYNTAX_ERROR: 500;
readonly SYNTAX_ERROR_PARAMETERS: 501;
readonly COMMAND_NOT_IMPLEMENTED: 502;
readonly BAD_SEQUENCE: 503;
readonly PARAMETER_NOT_IMPLEMENTED: 504;
readonly MAILBOX_UNAVAILABLE: 550;
readonly USER_NOT_LOCAL_TRY_FORWARD: 551;
readonly EXCEEDED_STORAGE: 552;
readonly MAILBOX_NAME_NOT_ALLOWED: 553;
readonly TRANSACTION_FAILED: 554;
};
/**
* SMTP command names
*/
export declare const SMTP_COMMANDS: {
readonly HELO: "HELO";
readonly EHLO: "EHLO";
readonly MAIL_FROM: "MAIL FROM";
readonly RCPT_TO: "RCPT TO";
readonly DATA: "DATA";
readonly RSET: "RSET";
readonly NOOP: "NOOP";
readonly QUIT: "QUIT";
readonly STARTTLS: "STARTTLS";
readonly AUTH: "AUTH";
};
/**
* Authentication methods
*/
export declare const AUTH_METHODS: {
readonly PLAIN: "PLAIN";
readonly LOGIN: "LOGIN";
readonly OAUTH2: "XOAUTH2";
readonly CRAM_MD5: "CRAM-MD5";
};
/**
* Common SMTP extensions
*/
export declare const SMTP_EXTENSIONS: {
readonly PIPELINING: "PIPELINING";
readonly SIZE: "SIZE";
readonly STARTTLS: "STARTTLS";
readonly AUTH: "AUTH";
readonly EIGHT_BIT_MIME: "8BITMIME";
readonly CHUNKING: "CHUNKING";
readonly ENHANCED_STATUS_CODES: "ENHANCEDSTATUSCODES";
readonly DSN: "DSN";
};
/**
* Default configuration values
*/
export declare const DEFAULTS: {
readonly CONNECTION_TIMEOUT: 60000;
readonly SOCKET_TIMEOUT: 300000;
readonly COMMAND_TIMEOUT: 30000;
readonly MAX_CONNECTIONS: 5;
readonly MAX_MESSAGES: 100;
readonly PORT_SMTP: 25;
readonly PORT_SUBMISSION: 587;
readonly PORT_SMTPS: 465;
readonly RETRY_ATTEMPTS: 3;
readonly RETRY_DELAY: 1000;
readonly POOL_IDLE_TIMEOUT: 30000;
};
/**
* Error types for classification
*/
export declare enum SmtpErrorType {
CONNECTION_ERROR = "CONNECTION_ERROR",
AUTHENTICATION_ERROR = "AUTHENTICATION_ERROR",
PROTOCOL_ERROR = "PROTOCOL_ERROR",
TIMEOUT_ERROR = "TIMEOUT_ERROR",
TLS_ERROR = "TLS_ERROR",
SYNTAX_ERROR = "SYNTAX_ERROR",
MAILBOX_ERROR = "MAILBOX_ERROR",
QUOTA_ERROR = "QUOTA_ERROR",
UNKNOWN_ERROR = "UNKNOWN_ERROR"
}
/**
* Regular expressions for parsing
*/
export declare const REGEX_PATTERNS: {
readonly EMAIL_ADDRESS: RegExp;
readonly RESPONSE_CODE: RegExp;
readonly ENHANCED_STATUS: RegExp;
readonly AUTH_CAPABILITIES: RegExp;
readonly SIZE_EXTENSION: RegExp;
};
/**
* Line endings and separators
*/
export declare const LINE_ENDINGS: {
readonly CRLF: "\r\n";
readonly LF: "\n";
readonly CR: "\r";
};
/**
* Connection states for internal use
*/
export declare const CONNECTION_STATES: {
readonly DISCONNECTED: "disconnected";
readonly CONNECTING: "connecting";
readonly CONNECTED: "connected";
readonly AUTHENTICATED: "authenticated";
readonly READY: "ready";
readonly BUSY: "busy";
readonly CLOSING: "closing";
readonly ERROR: "error";
};