Beispiel #1
0
        /// <summary>
        ///
        /// </summary>
        /// <param name="hostConfig"></param>
        /// <param name="msg"></param>
        /// <returns></returns>
        public static bool SendMail(MailHostConfig hostConfig, MailMessage msg, string mailAdress, string password)
        {
            Check.Require(hostConfig, "hostConfig");
            Check.Require(hostConfig.HostAddress, "hostConfig.HostAddress");
            Check.Require(hostConfig.HostType, "hostConfig.HostType");
            Check.Require(hostConfig.HostPort >= 0);

            Check.Require(msg, "msg");

            Check.Require(mailAdress, "mailAdress", Check.IsEmailAddress);

            if (msg.To.Count == 0)
            {
                return(false);
            }

            var client = new SmtpClient();

            switch (hostConfig.HostType)
            {
            default:
                client.Host = "localhost";
                break;

            case MailHostType.Smtp:
                client.Credentials = new NetworkCredential(mailAdress, password);
                client.Host        = hostConfig.HostAddress;
                break;

            case MailHostType.SmtpUseSsl:
                client.Credentials = new NetworkCredential(mailAdress, password);
                client.Port        = hostConfig.HostPort;
                client.Host        = hostConfig.HostAddress;
                client.EnableSsl   = true;
                break;
            }

            msg.SubjectEncoding = Encoding.UTF8;
            msg.BodyEncoding    = Encoding.UTF8;
            //msg.Priority = MailPriority.High;

            object userState = msg;

            try
            {
                client.SendAsync(msg, userState);

                return(true);
            }
            catch //(System.Net.Mail.SmtpException ex)
            {
                return(false);
            }
        }
Beispiel #2
0
        /// <summary>
        /// 
        /// </summary>
        /// <param name="hostConfig"></param>
        /// <param name="msg"></param>
        /// <returns></returns>
        public static bool SendMail(MailHostConfig hostConfig, MailMessage msg, string mailAdress, string password)
        {
            Check.Require(hostConfig, "hostConfig");
            Check.Require(hostConfig.HostAddress, "hostConfig.HostAddress");
            Check.Require(hostConfig.HostType, "hostConfig.HostType");
            Check.Require(hostConfig.HostPort >= 0);

            Check.Require(msg, "msg");

            Check.Require(mailAdress, "mailAdress", Check.IsEmailAddress);

            if (msg.To.Count == 0)
            {
                return false;
            }

            SmtpClient client = new SmtpClient();

            switch (hostConfig.HostType)
            {
                default:
                    client.Host = "localhost";
                    break;
                case MailHostType.Smtp:
                    client.Credentials = new System.Net.NetworkCredential(mailAdress, password);
                    client.Host = hostConfig.HostAddress;
                    break;
                case MailHostType.SmtpUseSSL:
                    client.Credentials = new System.Net.NetworkCredential(mailAdress, password);
                    client.Port = hostConfig.HostPort;
                    client.Host = hostConfig.HostAddress;
                    client.EnableSsl = true;
                    break;
            }

            msg.SubjectEncoding = System.Text.Encoding.UTF8;
            msg.BodyEncoding = System.Text.Encoding.UTF8;
            //msg.Priority = MailPriority.High;

            object userState = msg;

            try
            {
                client.SendAsync(msg, userState);

                return true;
            }
            catch //(System.Net.Mail.SmtpException ex)
            {
                return false;
            }
        }