Пример #1
0
        /// <summary>
        /// Initializes the instance of SMTP server with TLS certificate.
        /// </summary>
        /// <param name="parameters">Listening parameters</param>
        /// <param name="options">Server options</param>
        /// <param name="deliveryInterface">Interface used for email delivery.</param>
        /// <param name="loggerInterface">Interface used for logging server errors.</param>
        /// <param name="certificate">TLS certificate of the server.</param>
        public SMTPServer(IEnumerable <ListeningParameters> parameters, ServerOptions options, IMailDelivery deliveryInterface, ILogger loggerInterface,
                          X509Certificate certificate)
        {
            if (SMTPCodes.Codes == null)
            {
                SMTPCodes.Init();
            }

            Options = options;
            MailDeliveryInterface = deliveryInterface;
            LoggerInterface       = loggerInterface;
            Certificate           = certificate;

            Listeners = new List <Listener>();

            foreach (var parameter in parameters)
            {
                foreach (var port in parameter.RegularPorts)
                {
                    Listeners.Add(new Listener(parameter.IpAddress, port, this, false));
                }

                foreach (var port in parameter.TlsPorts)
                {
                    Listeners.Add(new Listener(parameter.IpAddress, port, this, true));
                }
            }
        }
Пример #2
0
 internal void WriteCode(ushort code, string enhanced, string text) => SMTPCodes.SendCode(this, code, enhanced, text);
Пример #3
0
 internal void WriteCode(ushort code) => SMTPCodes.SendCode(this, code);