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.