Template-based Email - Email not sending

Former Member
Former Member

Hi Team,

           Am trying to create a Template-based Email. Email Template is created under Notification -> Email. When I try to send a preview email am getting "Email Sent successfully!" Status. No exception created under Monitor. But email is not sent.

         When I send preview email from any other template other then I created, email sent successfully there is no issue.

         Here I attaching my code of my Template-based Email.     

         Kindly help me to resolve the issue.

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using Telligent.Evolution.Extensibility;
using Telligent.Evolution.Extensibility.Api.Entities.Version1;
using Telligent.Evolution.Extensibility.Api.Version1;
using Telligent.Evolution.Extensibility.Email.Version1;
using Telligent.Evolution.Extensibility.Templating.Version1;
using Telligent.Evolution.Extensibility.Version1;

namespace Telligent.RewardPoint.Widget.Extension.Entities
{
    public class CouponClaimEmailTemplate : IPlugin, ICategorizedPlugin, ITemplatablePlugin, IEmailTemplatePreviewPlugin
    {
        private ITemplatablePluginController _controller;
        public void SetController(ITemplatablePluginController controller)
        {
            _controller = controller;
        }

        public void Initialize()
        {
            //throw new NotImplementedException();
        }

        private TokenizedTemplate[] _defaultTemplates;
        public TokenizedTemplate[] DefaultTemplates
        {
            get
            {
                if (_defaultTemplates == null)
                {
                    var myTemplateBody = new TokenizedTemplate("body")
                    {
                        Name = "Email - Body",
                        Description = "Body of the email.",
                        ContextualDataTypeIds = new[]
                        {
                            ContentTypes.DataTypeId
                        }
                    };
                    var myTemplateHeader = new TokenizedTemplate("header")
                    {
                        Name = "Email - Header",
                        Description = "Header of the email",
                        ContextualDataTypeIds = new[]
                        {
                            ContentTypes.DataTypeId
                        }
                    };
                    var myTemplateFooter = new TokenizedTemplate("footer")
                    {
                        Name = "Email - Footer",
                        Description = "Footer of the email.",
                        ContextualDataTypeIds = new[]
                        {
                            ContentTypes.DataTypeId
                        }
                    };
                    var myTemplateSubject = new TokenizedTemplate("subject")
                    {
                        Name = "Email - Subject",
                        Description = "Subject of the email.",
                        ContextualDataTypeIds = new[]
                        {
                            ContentTypes.DataTypeId
                        }
                    };
                    myTemplateBody.Set("en-us", @"");
                    myTemplateHeader.Set("en-us", @"");
                    myTemplateFooter.Set("en-us", @"");
                    myTemplateSubject.Set("en-us", @"");

                    _defaultTemplates = new[] { myTemplateHeader, myTemplateSubject, myTemplateBody, myTemplateFooter };
                }
                return _defaultTemplates;
            }
        }

        public string Name => "Coupon Redeemtion";

        public string Description => "Coupon Redeemtion";


        #region ICategorizedPlugin Members
        string[] ICategorizedPlugin.Categories
        {
            get { return new string[] { "Coupons", "Notifications", "Translatable", "Templatable", "Email" }; ; }
        }
        #endregion

        public string GetTemplateName(EmailTarget target)
        {
            return GetTemplateNameDetails(target);
        }

        string GetTemplateNameDetails(EmailTarget target)
        {
            switch (target)
            {
                case EmailTarget.Subject:
                    return "subject";
                case EmailTarget.Header:
                    return "header";
                case EmailTarget.Footer:
                    return "footer";
                case EmailTarget.Body:
                    return "body";
            }

            return string.Empty;
        }

        public void SendEmail(Guid rewardId)
        {
            CouponItems post = PointsCouponData.GetCouponDetails(rewardId.ToString());

            var context = new TemplateContext { PostTarget = "Coupon Redeemption" };
            context.AddItem(ContentTypes.ContentTypeId, post);

            string renderedSubject = _controller.RenderTokenString("subject", context);
            string renderedHeader = _controller.RenderTokenString("header", context);
            string renderedBody = _controller.RenderTokenString("body", context);
            string renderedFooter = _controller.RenderTokenString("footer", context);

            Apis.Get<ISendEmail>().Send(new SendEmailOptions
            {
                Subject = renderedSubject,
                Header = renderedHeader,
                Body = renderedBody,
                Footer = renderedFooter,
                ToEmail = "*****@gmail.com" //To email address
            });
        }
    }
}

Parents Reply Children