コード例 #1
0
        public static EmailStatus SendEmail(ViewEmail from, string toEmail, string subject, string textMessage, string userID)
        {
            if (String.IsNullOrWhiteSpace(from.Title))
            {
                from.Title = "آنلاین استور";
            }

            string body   = renderEmailBody(textMessage);
            var    status = EmailStatus.Delivered;

            try
            {
                var message = new MailMessage();

                message.From = new MailAddress(from.EmailAddress, from.Title, System.Text.UTF8Encoding.UTF8);
                message.To.Add(new MailAddress(toEmail));
                message.Subject    = subject;
                message.Body       = body;
                message.IsBodyHtml = true;

                using (var smtp = new SmtpClient())
                {
                    var credential = new NetworkCredential
                    {
                        UserName = from.EmailAddress.Trim(),
                        Password = from.Password.Trim()
                    };

                    smtp.Credentials = credential;
                    smtp.Host        = "mail.online-store.com";
                    smtp.Port        = 25;
                    smtp.EnableSsl   = false;
                    smtp.Send(message);
                }
            }
            catch (Exception ex)
            {
                status       = EmailStatus.Failed;
                textMessage += "\n Error:" + ex.Message;
            }

            var log = new EmailLog
            {
                From       = StaticValues.InfoEmail,
                To         = toEmail,
                Message    = textMessage,
                IP         = Utilities.GetIP(),
                LastUpdate = DateTime.Now,
                UserID     = userID,
                Status     = status,
                Key        = Guid.NewGuid().ToString()
            };

            EmailLogs.Insert(log);

            return(status);
        }