use-smtp 0.1.0

SMTP protocol vocabulary primitives for RustUse
Documentation

use-smtp

SMTP protocol vocabulary primitives for RustUse.

Experimental

use-smtp is experimental while use-email remains below 0.3.0.

Example

use use_smtp::{MailFrom, RcptTo, SmtpCommand, SmtpReply, SmtpReplyCode};

let mail_from = SmtpCommand::MailFrom(MailFrom::new("bounce@example.com")?);
let rcpt_to = SmtpCommand::RcptTo(RcptTo::new("jane@example.com")?);
let reply = SmtpReply::new(SmtpReplyCode::new(250)?, "OK")?;

assert_eq!(mail_from.to_string(), "MAIL FROM:<bounce@example.com>");
assert_eq!(rcpt_to.to_string(), "RCPT TO:<jane@example.com>");
assert_eq!(reply.to_string(), "250 OK");
# Ok::<(), Box<dyn std::error::Error>>(())

Scope

  • SMTP command, reply, reply code, enhanced status code, extension, EHLO keyword, MAIL FROM, RCPT TO, DATA, QUIT, and capability markers.
  • Protocol vocabulary only.

Non-goals

  • Network client behavior.
  • TLS negotiation.
  • Authentication, delivery, retry, queue, or provider integration.

License

Licensed under either Apache-2.0 or MIT.