Example #1
0
        private SmtpSection Configure(SmtpClient smtpClient, long?userId)
        {
            var section = _configuration.GetConfiguration(userId);

            smtpClient.DeliveryMethod = section.DeliveryMethod;

            smtpClient.DeliveryFormat = section.DeliveryFormat;

            var specifiedPickupDirectory = section.SpecifiedPickupDirectory;

            var useFolder = specifiedPickupDirectory != null &&
                            !string.IsNullOrWhiteSpace(specifiedPickupDirectory.PickupDirectoryLocation);

            if (useFolder)
            {
                if (!Directory.Exists(specifiedPickupDirectory.PickupDirectoryLocation))
                {
                    Directory.CreateDirectory(specifiedPickupDirectory.PickupDirectoryLocation);
                }

                smtpClient.PickupDirectoryLocation = specifiedPickupDirectory.PickupDirectoryLocation;
            }
            else
            {
                smtpClient.Host = section.Network.Host;

                smtpClient.Port = section.Network.Port;

                smtpClient.UseDefaultCredentials = section.Network.DefaultCredentials;

                smtpClient.Credentials = new NetworkCredential(section.Network.UserName, section.Network.Password);

                smtpClient.EnableSsl = section.Network.EnableSsl;

                if (section.Network.TargetName != null)
                {
                    smtpClient.TargetName = section.Network.TargetName;
                }
            }

            return(section);
        }