/// <summary>
        /// send mail messages
        /// </summary>
        /// <param name="campaigns"></param>
        public void SendMessage(Campaigns campaigns)
        {
            SendGridMailer obj      = new SendGridMailer();
            MailComposer   composer = new MailComposer();

            try
            {
                UpdateExecutedDate(campaigns.IdentifierCampaign);
                campaign = new CampaignDetails();
                subs     = new List <SubscriberDetails>();
                campaign = getCampaignDetails(campaigns.CampaignID);
                subs     = new List <SubscriberDetails>();
                subs     = getSubscriberDetails(campaigns.IdentifierCampaign);
                string content = null;
                foreach (var email in subs)
                {
                    content = composer.ComposeHTMLMail(campaign.EmailContent, email.FirstName + " " + email.LastName, email.IdentifierSubscriber);
                    obj.SendHtmlMail(email.EmailAddress, email.FirstName + " " + email.LastName, campaign.FromEmail, campaign.FromName, campaign.EmailSubject, content);
                }
                UpdateMailStatus(campaigns.IdentifierCampaign);
                removeCampaign(campaigns.IdentifierCampaign);
            }
            catch (SqlException ex)
            {
                exp = new EMTException((int)EMTException.ErorrTypes.SqlExceptions, ex.InnerException.Message, ex.StackTrace, EMTException.ErorrTypes.SqlExceptions.ToString());
                exp.LogException();
            }
            catch (Exception ex)
            {
                exp = new EMTException((int)EMTException.ErorrTypes.others, ex.InnerException.Message, ex.StackTrace, EMTException.ErorrTypes.SqlExceptions.ToString());
                exp.LogException();
            }
        }
Beispiel #2
0
        public void NewSendGridMailer_WithCorrectData_ReturnsCorrectProperties()
        {
            // Act
            var mailer = new SendGridMailer(_mockSendGridClient.Object, _mockSendGridMailerOptions.Object);

            // Assert
            Assert.Same(_mockSendGridMailerOptions.Object, mailer.Options);
        }
Beispiel #3
0
        public void Sendgrid_SendMail_KeyIsNotEmpty_ShouldConstruct()
        {
            EmailComposer <TestMailModel> composer = new();
            EmailRequest <TestMailModel>  request  = composer
                                                     .SetModel(new TestMailModel {
                Email = "*****@*****.**", Name = "Guy Gadbois"
            })
                                                     .SetSubject("Hello world")
                                                     .SetFrom("*****@*****.**")
                                                     .SetTo("*****@*****.**")
                                                     .Build();

            IMailer mailer = new SendGridMailer("MySGKey");
        }
Beispiel #4
0
        public async void SendMethod_WhenCalled_CallsSendGridClient()
        {
            // Arrange
            var mockSmtpMessage = BuildMockSmtpMessage();

            var mailer = new SendGridMailer(_mockSendGridClient.Object, _mockSendGridMailerOptions.Object);

            _sendEmailAsyncCallCount = 0;

            // Act
            await mailer.Send(mockSmtpMessage.Object);

            // Assert
            Assert.Equal(1, _sendEmailAsyncCallCount);
        }
Beispiel #5
0
        public IHttpActionResult SendMailSendGrid(SendEmailRequest request)
        {
            try {
                request.ValidateNotNull();

                SendGridMailer sendMailSendGrid = new SendGridMailer();
                sendMailSendGrid.SendMail(request.ToEmails, request.Subject, request.Body, null,
                                          request.CcEmails, request.BccEmails, request.Attachments);

                return(Ok(new SendEmailResponse()
                {
                    Message = NotificationMessages.EmailMessageSent,
                    Success = Common.Enumerations.ResponseStatus.Succeeded
                }));
            }
            catch (NsiBaseException e) {
                return(BadRequest(e.Message));
            }
        }