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,67 @@
/**
* SMTP Client Command Handler
* SMTP command sending and response parsing
*/
import { EventEmitter } from 'node:events';
import type { ISmtpConnection, ISmtpResponse, ISmtpClientOptions, ISmtpCapabilities } from './interfaces.js';
export declare class CommandHandler extends EventEmitter {
private options;
private responseBuffer;
private pendingCommand;
private commandTimeout;
constructor(options: ISmtpClientOptions);
/**
* Send EHLO command and parse capabilities
*/
sendEhlo(connection: ISmtpConnection, domain?: string): Promise<ISmtpCapabilities>;
/**
* Send MAIL FROM command
*/
sendMailFrom(connection: ISmtpConnection, fromAddress: string): Promise<ISmtpResponse>;
/**
* Send RCPT TO command
*/
sendRcptTo(connection: ISmtpConnection, toAddress: string): Promise<ISmtpResponse>;
/**
* Send DATA command
*/
sendData(connection: ISmtpConnection): Promise<ISmtpResponse>;
/**
* Send email data content
*/
sendDataContent(connection: ISmtpConnection, emailData: string): Promise<ISmtpResponse>;
/**
* Send RSET command
*/
sendRset(connection: ISmtpConnection): Promise<ISmtpResponse>;
/**
* Send NOOP command
*/
sendNoop(connection: ISmtpConnection): Promise<ISmtpResponse>;
/**
* Send QUIT command
*/
sendQuit(connection: ISmtpConnection): Promise<ISmtpResponse>;
/**
* Send STARTTLS command
*/
sendStartTls(connection: ISmtpConnection): Promise<ISmtpResponse>;
/**
* Send AUTH command
*/
sendAuth(connection: ISmtpConnection, method: string, credentials?: string): Promise<ISmtpResponse>;
/**
* Send a generic SMTP command
*/
sendCommand(connection: ISmtpConnection, command: string): Promise<ISmtpResponse>;
/**
* Send raw data without command formatting
*/
sendRawData(connection: ISmtpConnection, data: string): Promise<ISmtpResponse>;
/**
* Wait for server greeting
*/
waitForGreeting(connection: ISmtpConnection): Promise<ISmtpResponse>;
private handleIncomingData;
private isCompleteResponse;
}