Пример #1
0
        private int GetInitialResponseCode(IDataReader reader, BulkEmailRecipientInfo recipientInfo,
                                           int responseCodeColumnIndex)
        {
            var initialResponseCode = reader.GetInt32(responseCodeColumnIndex);

            if (initialResponseCode != (int)MailingResponseCode.PostedProvider)
            {
                return(initialResponseCode);
            }
            if (!MailingUtilities.ValidateEmail(recipientInfo.EmailAddress))
            {
                initialResponseCode = (int)MailingResponseCode.CanceledIncorrectEmail;
            }
            else if (_limitedRecipients.Value.ContainsKey(recipientInfo.ContactId))
            {
                initialResponseCode = _limitedRecipients.Value[recipientInfo.ContactId];
            }
            else if (_duplicatingRecipients.Value.ContainsKey(recipientInfo.Id))
            {
                initialResponseCode = _duplicatingRecipients.Value[recipientInfo.Id];
            }
            else if (recipientInfo.ReplicaId == Guid.Empty)
            {
                initialResponseCode = (int)MailingResponseCode.CanceledTemplateNotFound;
            }
            return(initialResponseCode);
        }
        /// <summary>
        /// Validates the sender email from the FromEmailMacro.
        /// </summary>
        /// <param name="recipient">Recipient of bulk email.</param>
        protected override void InternalValidate(IMessageRecipientInfo recipient)
        {
            var valueFromEmail = GetMacroValueFromRecipient(recipient, MailingConsts.FromEmailMacroKey);

            if (valueFromEmail != null && !MailingUtilities.ValidateEmail(valueFromEmail.Value.MacroValue))
            {
                recipient.InitialResponseCode = (int)MailingResponseCode.CanceledSendersDomainNotVerified;
            }
        }