Crate smtp_proto

Source
Expand description

§smtp-proto

crates.io build docs.rs License: MIT License: Apache

smtp-proto is a fast SMTP/LMTP parser for Rust that supports all registered SMTP service extensions. The library is part of Stalwart SMTP and LMTP servers. It is not yet documented so if you need help using the library please start a discussion.

§Testing & Fuzzing

To run the testsuite:

 $ cargo test

To fuzz the library with cargo-fuzz:

 $ cargo +nightly fuzz run smtp_proto

§License

Licensed under either of

  • Apache License, Version 2.0 (LICENSE-APACHE or http://www.apache.org/licenses/LICENSE-2.0)
  • MIT license (LICENSE-MIT or http://opensource.org/licenses/MIT)

at your option.

Copyright (C) 2020, Stalwart Labs LLC

Modules§

request
response

Structs§

EhloResponse
MailFrom
Mtrk
RcptTo
Response

Enums§

Category
Error
MtPriority
Request
Severity

Constants§

AUTH_9798_M_DSA_SHA1
AUTH_9798_M_ECDSA_SHA1
AUTH_9798_M_RSA_SHA1_ENC
AUTH_9798_U_DSA_SHA1
AUTH_9798_U_ECDSA_SHA1
AUTH_9798_U_RSA_SHA1_ENC
AUTH_ANONYMOUS
AUTH_CRAM_MD5
AUTH_DIGEST_MD5
AUTH_EAP_AES128
AUTH_EAP_AES128_PLUS
AUTH_ECDH_X25519_CHALLENGE
AUTH_ECDSA_NIST256P_CHALLENGE
AUTH_EXTERNAL
AUTH_GS2_KRB5
AUTH_GS2_KRB5_PLUS
AUTH_GSSAPI
AUTH_GSS_SPNEGO
AUTH_KERBEROS_V4
AUTH_KERBEROS_V5
AUTH_LOGIN
AUTH_NMAS_AUTHEN
AUTH_NMAS_LOGIN
AUTH_NMAS_SAMBA_AUTH
AUTH_NTLM
AUTH_OAUTH10A
AUTH_OAUTHBEARER
AUTH_OPENID20
AUTH_OTP
AUTH_PLAIN
AUTH_SAML20
AUTH_SCRAM_SHA_1
AUTH_SCRAM_SHA_1_PLUS
AUTH_SCRAM_SHA_256
AUTH_SCRAM_SHA_256_PLUS
AUTH_SECURID
AUTH_SKEY
AUTH_SPNEGO
AUTH_SPNEGO_PLUS
AUTH_SXOVER_PLUS
AUTH_XOAUTH
AUTH_XOAUTH2
EXT_8BIT_MIME
EXT_ATRN
EXT_AUTH
EXT_BINARY_MIME
EXT_BURL
EXT_CHECKPOINT
EXT_CHUNKING
EXT_CONNEG
EXT_CONPERM
EXT_DELIVER_BY
EXT_DSN
EXT_ENHANCED_STATUS_CODES
EXT_ETRN
EXT_EXPN
EXT_FUTURE_RELEASE
EXT_HELP
EXT_MTRK
EXT_MT_PRIORITY
EXT_NO_SOLICITING
EXT_ONEX
EXT_PIPELINING
EXT_REQUIRE_TLS
EXT_RRVS
EXT_SIZE
EXT_SMTP_UTF8
EXT_START_TLS
EXT_VERB
EXT_VRFY
MAIL_BODY_7BIT
MAIL_BODY_8BITMIME
MAIL_BODY_BINARYMIME
MAIL_BY_NOTIFY
MAIL_BY_RETURN
MAIL_BY_TRACE
MAIL_CONPERM
MAIL_REQUIRETLS
MAIL_RET_FULL
MAIL_RET_HDRS
MAIL_SMTPUTF8
RCPT_CONNEG
RCPT_NOTIFY_DELAY
RCPT_NOTIFY_FAILURE
RCPT_NOTIFY_NEVER
RCPT_NOTIFY_SUCCESS
RCPT_RRVS_CONTINUE
RCPT_RRVS_REJECT

Traits§

IntoString