Frapid.Messaging.MailQueueManager.AddAsync C# (CSharp) Method

AddAsync() public method

public AddAsync ( ) : System.Threading.Tasks.Task
return System.Threading.Tasks.Task
        public async Task AddAsync()
        {
            this.Processor = EmailProcessor.GetDefault(this.Database);

            if(!this.IsEnabled())
            {
                return;
            }

            var config = new Config(this.Database, this.Processor);

            this.Email.ReplyTo = this.Email.ReplyTo.Or("");
            this.Email.ReplyToName = this.Email.ReplyToName.Or("");

            if(string.IsNullOrWhiteSpace(this.Email.FromName))
            {
                this.Email.FromName = config.FromName;
            }

            if(string.IsNullOrWhiteSpace(this.Email.FromEmail))
            {
                this.Email.FromEmail = config.FromEmail;
            }

            var sysConfig = MessagingConfig.Get(this.Database);

            if(sysConfig.TestMode)
            {
                this.Email.IsTest = true;
            }

            if(this.IsValidEmail(this.Email.FromEmail) &&
               this.IsValidEmail(this.Email.SendTo))
            {
                await MailQueue.AddToQueueAsync(this.Database, this.Email).ConfigureAwait(false);
            }
        }

Usage Example

Ejemplo n.º 1
0
        public async Task SendAsync(string tenant)
        {
            string template = this.GetTemplate(tenant);
            string parsed = this.ParseTemplate(template);
            string subject = "Your Password Reset Link for " + HttpContext.Current.Request.Url.Authority;

            var processor = EmailProcessor.GetDefault(tenant);

            if (processor != null)
            {
                var email = this.GetEmail(processor, this._resetDetails, subject, parsed);

                var queue = new MailQueueManager(tenant, email);
                await queue.AddAsync().ConfigureAwait(false);

                await queue.ProcessMailQueueAsync(processor).ConfigureAwait(false);
            }
        }
All Usage Examples Of Frapid.Messaging.MailQueueManager::AddAsync