// ReSharper disable InconsistentNaming namespace Unosquare.Swan.Networking { #if NETSTANDARD1_3 /// <summary> /// Defines the different SMTP status codes /// </summary> public enum SmtpStatusCode { /// <summary> /// System code /// </summary> SystemStatus = 211, /// <summary> /// Help message code /// </summary> HelpMessage = 214, /// <summary> /// Service ready code /// </summary> ServiceReady = 220, /// <summary> /// Service closing channel code /// </summary> ServiceClosingTransmissionChannel = 221, /// <summary> /// OK Code /// </summary> Ok = 250, /// <summary> /// User not local code /// </summary> UserNotLocalWillForward = 251, /// <summary> /// Cannot verify user code /// </summary> CannotVerifyUserWillAttemptDelivery = 252, /// <summary> /// Start Mail Input code /// </summary> StartMailInput = 354, /// <summary> /// Service Not Available code /// </summary> ServiceNotAvailable = 421, /// <summary> /// Mailbox Busy code /// </summary> MailboxBusy = 450, /// <summary> /// Local Error code /// </summary> LocalErrorInProcessing = 451, /// <summary> /// Insufficient storage code /// </summary> InsufficientStorage = 452, /// <summary> /// Client not permitted code /// </summary> ClientNotPermitted = 454, /// <summary> /// Command Unrecognized /// </summary> CommandUnrecognized = 500, /// <summary> /// Syntax error /// </summary> SyntaxError = 501, /// <summary> /// Command Not Implemented /// </summary> CommandNotImplemented = 502, /// <summary> /// Bad Command Sequence /// </summary> BadCommandSequence = 503, /// <summary> /// Must Issue Start Tls First /// </summary> MustIssueStartTlsFirst = 530, /// <summary> /// Command Parameter Not Implemented /// </summary> CommandParameterNotImplemented = 504, /// <summary> /// Mailbox Unavailable /// </summary> MailboxUnavailable = 550, /// <summary> /// User Not Local Try Alternate Path /// </summary> UserNotLocalTryAlternatePath = 551, /// <summary> /// Exceeded Storage Allocation code /// </summary> ExceededStorageAllocation = 552, /// <summary> /// Mailbox name not allowed code /// </summary> MailboxNameNotAllowed = 553, /// <summary> /// Transaction failed code /// </summary> TransactionFailed = 554, /// <summary> /// General Failure code /// </summary> GeneralFailure = -1, } #endif /// <summary> /// Enumerates all of the well-known SMTP command names. /// </summary> public enum SmtpCommandNames { /// <summary> /// An unknown command /// </summary> Unknown, /// <summary> /// The helo command /// </summary> HELO, /// <summary> /// The ehlo command /// </summary> EHLO, /// <summary> /// The quit command /// </summary> QUIT, /// <summary> /// The help command /// </summary> HELP, /// <summary> /// The noop command /// </summary> NOOP, /// <summary> /// The rset command /// </summary> RSET, /// <summary> /// The mail command /// </summary> MAIL, /// <summary> /// The data command /// </summary> DATA, /// <summary> /// The send command /// </summary> SEND, /// <summary> /// The soml command /// </summary> SOML, /// <summary> /// The saml command /// </summary> SAML, /// <summary> /// The RCPT command /// </summary> RCPT, /// <summary> /// The vrfy command /// </summary> VRFY, /// <summary> /// The expn command /// </summary> EXPN, /// <summary> /// The starttls command /// </summary> STARTTLS, /// <summary> /// The authentication command /// </summary> AUTH, } /// <summary> /// Enumerates the reply code severities. /// </summary> public enum SmtpReplyCodeSeverities { /// <summary> /// The unknown severity /// </summary> Unknown = 0, /// <summary> /// The positive completion severity /// </summary> PositiveCompletion = 200, /// <summary> /// The positive intermediate severity /// </summary> PositiveIntermediate = 300, /// <summary> /// The transient negative severity /// </summary> TransientNegative = 400, /// <summary> /// The permanent negative severity /// </summary> PermanentNegative = 500, } /// <summary> /// Enumerates the reply code categories. /// </summary> public enum SmtpReplyCodeCategories { /// <summary> /// The unknown category /// </summary> Unknown = -1, /// <summary> /// The syntax category /// </summary> Syntax = 0, /// <summary> /// The information category /// </summary> Information = 1, /// <summary> /// The connections category /// </summary> Connections = 2, /// <summary> /// The unspecified a category /// </summary> UnspecifiedA = 3, /// <summary> /// The unspecified b category /// </summary> UnspecifiedB = 4, /// <summary> /// The system category /// </summary> System = 5, } }