Table of Contents

Class MailDeliveryCapabilities

Namespace
MailFathom.Application.Mail.Delivery
Assembly
MailFathom.Application.dll

States what a submission server said it will accept, as facts rather than as advertised extension names.

public sealed record MailDeliveryCapabilities : IEquatable<MailDeliveryCapabilities>
Inheritance
MailDeliveryCapabilities
Implements
Inherited Members

Remarks

These three decide whether a message can be sent at all rather than how it is sent, which is why they are the ones a session reports. A message beyond the declared size is refused after its whole body has crossed the network; an internationalized address the server cannot carry is refused outright; and a body the server cannot take unencoded has to be encoded before it is transmitted. A caller left to guess at any of the three pays for the guess in a transmission that was never going to be accepted.

Everything else a server advertises is absent on purpose. Pipelining, chunking, and delivery status notifications change how a submission is carried out and never whether it may happen, so they belong to whatever issues the commands rather than to a contract every caller above reads.

Constructors

MailDeliveryCapabilities(long?, bool, bool)

States what a submission server said it will accept, as facts rather than as advertised extension names.

Properties

AcceptsEightBitContent

Whether the server accepts a body whose bytes are not restricted to seven bits.

AcceptsInternationalizedAddresses

Whether the server accepts an envelope address outside ASCII.

BeforeAnyServerHasSpoken

What a message is composed against when it is written down long before a server is opened to carry it.

MaxMessageBytes

The largest message the server declared it will accept, or null when it declared no bound. A server that advertises the size extension without a number is stating that it has no fixed maximum, which is the same absence.

Methods

PermitsMessageOfSize(long)

Reports whether a message of the supplied size is within what the server declared it will accept.