Base class for email models. Derived classes will provide specific values to substitute placeholders in concrete emails. If nothing to substitute, this class can be used directly.
コード例 #1
0
        private EmailDetails GetEmailDetails(string viewName, EmailMetadata metadata, ControllerContext context)
        {
            using(var stream = _viewReader.GetViewStream(viewName, metadata, context))
            {
                string subject = "";
                string body = "";

                using(var reader = new StreamReader(stream))
                {
                    bool subjectProcessed = false;
                    string line;
                    while((line = reader.ReadLine()) != null)
                    {
                        if(!subjectProcessed)
                        {
                            if(string.IsNullOrEmpty(line))
                            {
                                continue;
                            }

                            subject = line;
                            subjectProcessed = true;
                            continue;
                        }
                        body += line;
                    }
                }

                return new EmailDetails {Body = body, Subject = subject};
            }
        }
コード例 #2
0
        private EmailDetails GetEmailDetails(string viewName, EmailMetadata metadata, ControllerContext context)
        {
            using (var stream = _viewReader.GetViewStream(viewName, metadata, context))
            {
                string subject = "";
                string body    = "";

                using (var reader = new StreamReader(stream))
                {
                    bool   subjectProcessed = false;
                    string line;
                    while ((line = reader.ReadLine()) != null)
                    {
                        if (!subjectProcessed)
                        {
                            if (string.IsNullOrEmpty(line))
                            {
                                continue;
                            }

                            subject          = line;
                            subjectProcessed = true;
                            continue;
                        }
                        body += line;
                    }
                }

                return(new EmailDetails {
                    Body = body, Subject = subject
                });
            }
        }
コード例 #3
0
        public MailMessage RenderMessage(string viewName, EmailMetadata metadata, ControllerContext context)
        {
            var details = GetEmailDetails(viewName, metadata, context);

            var result = new MailMessage
            {From = metadata.From, Subject = details.Subject, Body = details.Body, IsBodyHtml = metadata.IsHtmlEmail};
            metadata.To.ForEach(x => result.To.Add(x));
            metadata.Cc.ForEach(x => result.CC.Add(x));
            metadata.Bcc.ForEach(x => result.Bcc.Add(x));

            return result;
        }
コード例 #4
0
        public MailMessage RenderMessage(string viewName, EmailMetadata metadata, ControllerContext context)
        {
            var details = GetEmailDetails(viewName, metadata, context);

            var result = new MailMessage
            {
                From = metadata.From, Subject = details.Subject, Body = details.Body, IsBodyHtml = metadata.IsHtmlEmail
            };

            metadata.To.ForEach(x => result.To.Add(x));
            metadata.Cc.ForEach(x => result.CC.Add(x));
            metadata.Bcc.ForEach(x => result.Bcc.Add(x));

            return(result);
        }