Ejemplo n.º 1
1
        protected MailboxModel(int id, int tenant, IMailAddress address, IMailAccount account,
                            ICollection<IMailAddress> aliases, MailServerBase server)
            : base(new MailAccountBase(account), new MailAddressBase(address), (aliases.Select(a => new MailAddressBase(a)).ToList()))
        {
            if (id < 0)
                throw new ArgumentException("Invalid domain id", "id");

            if (tenant < 0)
                throw new ArgumentException("Invalid tenant id", "tenant");

            if (account == null)
                throw new ArgumentException("Invalid account", "account");

            if (address == null)
                throw new ArgumentException("Invalid address", "address");

            if (aliases == null)
                throw new ArgumentException("Invalid aliases", "aliases");

            if (server == null)
                throw new ArgumentException("Invalid server", "server");

            Id = id;
            Tenant = tenant;
            Account = account;
            Address = address;
            Aliases = aliases;
            Server = server;
        }
Ejemplo n.º 2
0
 public void SetUp()
 {
     server = TestContext.CreateServer();
     peter_domain = server.CreateWebDomain(_peterDomainName, IS_VERIFIED, TestContext.ServerFactory);
     peter_address = TestContext.CreateRandomMailAddress(peter_domain);
     peter_account = TestContext.GetMailAccount(peter_address.LocalPart, _peterDomainName);
 }
Ejemplo n.º 3
0
 public virtual void AddAliasAndRemoveAliasToMailbox()
 {
     peter_alias = peter_mailbox.AddAlias(peter_alias.LocalPart, peter_alias.Domain, TestContext.ServerFactory);
     Assert.IsTrue(peter_mailbox.Aliases.Contains(peter_alias));
     peter_mailbox.RemoveAlias(peter_alias.Id);
     Assert.IsFalse(peter_mailbox.Aliases.Contains(peter_alias));
 }
Ejemplo n.º 4
0
        protected MailGroupModel(int id, int tenant, IMailAddress address, List <IMailAddress> in_addresses, MailServerBase server)
            : base(new MailAddressBase(address), (in_addresses.Select(a => new MailAddressBase(a)).ToList()))
        {
            if (id < 0)
            {
                throw new ArgumentException("Invalid domain id", "id");
            }

            if (tenant < 0)
            {
                throw new ArgumentException("Invalid tenant id", "tenant");
            }

            if (address == null)
            {
                throw new ArgumentException("Invalid address", "address");
            }

            if (in_addresses == null)
            {
                throw new ArgumentException("Invalid aliases", "in_addresses");
            }

            if (server == null)
            {
                throw new ArgumentException("Invalid server", "server");
            }

            Id          = id;
            Tenant      = tenant;
            Address     = address;
            InAddresses = in_addresses;
            Server      = server;
        }
Ejemplo n.º 5
0
 public void SetUp()
 {
     server        = TestContext.CreateServer();
     peter_domain  = server.CreateWebDomain(_peterDomainName, IS_VERIFIED, TestContext.ServerFactory);
     peter_address = TestContext.CreateRandomMailAddress(peter_domain);
     peter_account = TestContext.GetMailAccount(peter_address.LocalPart, _peterDomainName);
 }
Ejemplo n.º 6
0
 public virtual void AddAliasAndRemoveAliasToMailbox()
 {
     peter_alias = peter_mailbox.AddAlias(peter_alias.LocalPart, peter_alias.Domain, TestContext.ServerFactory);
     Assert.IsTrue(peter_mailbox.Aliases.Contains(peter_alias));
     peter_mailbox.RemoveAlias(peter_alias.Id);
     Assert.IsFalse(peter_mailbox.Aliases.Contains(peter_alias));
 }
Ejemplo n.º 7
0
        public virtual async Task SendMailAsync(IMailAddress sender, IMailAddress[] recipients,
                                                IMailAddress[] carbonCopies,
                                                IMailAddress[] blindCarbonCopies, string templateName, object additionalSubjectData = null,
                                                object additionalContentData        = null,
                                                Attachment[] attachments            = default,
                                                CancellationToken cancellationToken = default)
        {
            // Find mail template.
            var mail = await GetMailContentAsync(templateName, cancellationToken);

            if (mail == null)
            {
                throw new Exception($"Mail content whose name is {templateName} is not found.");
            }

            using (var smtpClient = GetSmtpClient(_mailClientSetting))
            {
                var mailMessage = await BuildMailMessageAsync(_mailClientSetting, sender, recipients, mail.Subject,
                                                              mail.Content,
                                                              additionalSubjectData, additionalContentData, carbonCopies, blindCarbonCopies,
                                                              attachments,
                                                              mail.IsHtml,
                                                              cancellationToken);

                await smtpClient.SendMailAsync(mailMessage);
            }
        }
Ejemplo n.º 8
0
        /// <summary>
        /// Generate ann email message
        /// </summary>
        /// <param name="sender">From field of mail</param>
        /// <param name="toAddresses">Recievers</param>
        /// <param name="ccAddresses">CC list</param>
        /// <param name="bccAddresses">BCC List</param>
        /// <param name="attachmentsList">List of files attached to this mail</param>
        /// <param name="subject">Subject of email</param>
        /// <param name="body">Message's busy</param>
        /// <returns>Generated message</returns>
        public AbstractMailMessage GenerateMail(IMailAddress sender, List <IMailAddress> toAddresses, List <IMailAddress> ccAddresses, List <IMailAddress> bccAddresses, List <string> attachmentsList,
                                                string subject, string body)
        {
            var msg = new MimeMailMessage
            {
                From    = (MailAddress)sender,
                Subject = subject,
                Body    = body
            };

            toAddresses.ForEach(a => msg.To.Add((MimeMailAddress)a));
            if (ccAddresses != null)
            {
                ccAddresses.ForEach(a => msg.To.Add((MimeMailAddress)a));
            }
            if (bccAddresses != null)
            {
                bccAddresses.ForEach(a => msg.To.Add((MimeMailAddress)(a)));
            }

            if (attachmentsList != null)
            {
                attachmentsList.ForEach(a => msg.Attachments.Add(new MimeAttachment(a)));
            }
            return(msg);
        }
Ejemplo n.º 9
0
 public static AddressData ToAddressData(this IMailAddress mailaddress)
 {
     return(new AddressData
     {
         Id = mailaddress.Id,
         DomainId = mailaddress.Domain.Id,
         Email = mailaddress.ToString()
     });
 }
Ejemplo n.º 10
0
        public virtual void AliasAddAndRemoveSyncronizationWithServerTest()
        {
            peter_alias   = peter_mailbox.AddAlias(peter_alias.LocalPart, peter_alias.Domain, TestContext.ServerFactory);
            peter_mailbox = server.GetMailbox(peter_mailbox.Id, TestContext.ServerFactory);
            Assert.IsTrue(peter_mailbox.Aliases.Contains(peter_alias));

            peter_mailbox.RemoveAlias(peter_alias.Id);
            peter_mailbox = server.GetMailbox(peter_mailbox.Id, TestContext.ServerFactory);
            Assert.IsFalse(peter_mailbox.Aliases.Contains(peter_alias));
            server.DeleteMailbox(peter_mailbox);
        }
Ejemplo n.º 11
0
 public void Init()
 {
     server = TestContext.CreateServer();
     peter_domain = server.CreateWebDomain(_peterDomainName, IS_VERIFIED, TestContext.ServerFactory);
     peter_mail_group_address = TestContext.CreateRandomMailAddress(peter_domain);
     var peterMailboxAddress = TestContext.CreateRandomMailAddress(peter_domain);
     var peterAccount = TestContext.GetMailAccount(peterMailboxAddress.LocalPart, _peterDomainName);
     peter_mailbox = server.CreateMailbox(peterMailboxAddress.LocalPart, PETER_PASSWORD, peterMailboxAddress.Domain, peterAccount,
                                          TestContext.ServerFactory);
     peter_mail_group = server.CreateMailGroup(peter_mail_group_address.LocalPart, peter_mail_group_address.Domain, new List<int> { peter_mailbox.Address.Id }, TestContext.ServerFactory);
 }
Ejemplo n.º 12
0
        public virtual void AliasAddAndRemoveSyncronizationWithServerTest()
        {
            peter_alias = peter_mailbox.AddAlias(peter_alias.LocalPart, peter_alias.Domain, TestContext.ServerFactory);
            peter_mailbox = server.GetMailbox(peter_mailbox.Id, TestContext.ServerFactory);
            Assert.IsTrue(peter_mailbox.Aliases.Contains(peter_alias));

            peter_mailbox.RemoveAlias(peter_alias.Id);
            peter_mailbox = server.GetMailbox(peter_mailbox.Id, TestContext.ServerFactory);
            Assert.IsFalse(peter_mailbox.Aliases.Contains(peter_alias));
            server.DeleteMailbox(peter_mailbox);
        }
Ejemplo n.º 13
0
 public void Init()
 {
     server = TestContext.CreateServer();
     peter_domain = server.CreateWebDomain(_peterDomainName, IS_VERIFIED, TestContext.ServerFactory);
     peter_address = TestContext.CreateRandomMailAddress(peter_domain);
     peter_second_address = TestContext.CreateRandomMailAddress(peter_domain);
     peter_alias = TestContext.CreateRandomMailAddress(peter_domain);
     peter_account = TestContext.GetMailAccount(peter_address.LocalPart, _peterDomainName);
     peter_second_account = TestContext.GetMailAccount(peter_second_address.LocalPart, _peterDomainName);
     peter_mailbox = server.CreateMailbox(peter_address.LocalPart, PETER_PASSWORD, peter_domain, peter_account, TestContext.ServerFactory);
     peter_second_mailbox = server.CreateMailbox(peter_second_address.LocalPart, PETER_PASSWORD, peter_domain, peter_second_account, TestContext.ServerFactory);
 }
Ejemplo n.º 14
0
 public void Init()
 {
     server               = TestContext.CreateServer();
     peter_domain         = server.CreateWebDomain(_peterDomainName, IS_VERIFIED, TestContext.ServerFactory);
     peter_address        = TestContext.CreateRandomMailAddress(peter_domain);
     peter_second_address = TestContext.CreateRandomMailAddress(peter_domain);
     peter_alias          = TestContext.CreateRandomMailAddress(peter_domain);
     peter_account        = TestContext.GetMailAccount(peter_address.LocalPart, _peterDomainName);
     peter_second_account = TestContext.GetMailAccount(peter_second_address.LocalPart, _peterDomainName);
     peter_mailbox        = server.CreateMailbox(peter_address.LocalPart, PETER_PASSWORD, peter_domain, peter_account, TestContext.ServerFactory);
     peter_second_mailbox = server.CreateMailbox(peter_second_address.LocalPart, PETER_PASSWORD, peter_domain, peter_second_account, TestContext.ServerFactory);
 }
Ejemplo n.º 15
0
 public void Init()
 {
     server               = TestContext.CreateServer();
     peter_domain         = server.CreateWebDomain(_peterDomainName, _isVerified, TestContext.ServerFactory);
     peter_address        = TestContext.CreateRandomMailAddress(peter_domain);
     peter_second_address = TestContext.CreateRandomMailAddress(peter_domain);
     peter_alias          = TestContext.CreateRandomMailAddress(peter_domain);
     peter_account        = TestContext.GetMailAccount(peter_address.LocalPart, _peterDomainName);
     peter_second_account = TestContext.GetMailAccount(peter_second_address.LocalPart, _peterDomainName);
     peter_mailbox        = server.CreateMailbox(peter_address.LocalPart, PeterPassword, peter_domain, peter_account, TestContext.ServerFactory);
     peter_second_mailbox = server.CreateMailbox(peter_second_address.LocalPart, PeterPassword, peter_domain, peter_second_account, TestContext.ServerFactory);
 }
        public void Init()
        {
            server                   = TestContext.CreateServer();
            peter_domain             = server.CreateWebDomain(_peterDomainName, _isVerified, TestContext.ServerFactory);
            peter_mail_group_address = TestContext.CreateRandomMailAddress(peter_domain);
            var peter_mailbox_address = TestContext.CreateRandomMailAddress(peter_domain);
            var peter_account         = TestContext.GetMailAccount(peter_mailbox_address.LocalPart, _peterDomainName);

            peter_mailbox = server.CreateMailbox(peter_mailbox_address.LocalPart, PeterPassword, peter_mailbox_address.Domain, peter_account,
                                                 TestContext.ServerFactory);
            peter_mail_group = server.CreateMailGroup(peter_mail_group_address.LocalPart, peter_mail_group_address.Domain, new List <int> {
                peter_mailbox.Address.Id
            }, TestContext.ServerFactory);
        }
Ejemplo n.º 17
0
        public void Init()
        {
            server                   = TestContext.CreateServer();
            peter_domain             = server.CreateWebDomain(_peterDomainName, IS_VERIFIED, TestContext.ServerFactory);
            peter_mail_group_address = TestContext.CreateRandomMailAddress(peter_domain);
            var peterMailboxAddress = TestContext.CreateRandomMailAddress(peter_domain);
            var peterAccount        = TestContext.GetMailAccount(peterMailboxAddress.LocalPart, _peterDomainName);

            peter_mailbox = server.CreateMailbox(peterAccount.TeamlabAccount.Name, peterMailboxAddress.LocalPart,
                                                 PETER_PASSWORD, peterMailboxAddress.Domain, peterAccount, TestContext.ServerFactory);
            peter_mail_group = server.CreateMailGroup(peter_mail_group_address.LocalPart, peter_mail_group_address.Domain, new List <int> {
                peter_mailbox.Address.Id
            }, TestContext.ServerFactory);
        }
Ejemplo n.º 18
0
        public virtual async Task SendMailAsync(IMailAddress sender, IMailAddress[] recipients,
                                                IMailAddress[] carbonCopies,
                                                IMailAddress[] blindCarbonCopies, string subject, string content, bool isHtmlContent = false,
                                                object additionalSubjectData        = null, object additionalContentData = null,
                                                Attachment[] attachments            = default,
                                                CancellationToken cancellationToken = default)
        {
            var data = new MultipartFormDataContent($"www-{DateTime.Now:yy-MMM-dd}");

            data.Add(new StringContent(ToMailGunAddress(sender), Encoding.UTF8), "from");

            data.Add(new StringContent(string.Join(",", recipients.Select(ToMailGunAddress)), Encoding.UTF8), "to");

            var clonedCarbonCopies = (carbonCopies ?? new IMailAddress[0])
                                     .Concat(_mailClientSetting.CarbonCopies ?? new IMailAddress[0])
                                     .ToArray();

            if (clonedCarbonCopies.Length > 0)
            {
                data.Add(
                    new StringContent(string.Join(",", clonedCarbonCopies.Select(ToMailGunAddress)), Encoding.UTF8),
                    "cc");
            }

            var clonedBlindCarbonCopies = (blindCarbonCopies ?? new IMailAddress[0])
                                          .Concat(_mailClientSetting.BlindCarbonCopies ?? new IMailAddress[0])
                                          .ToArray();

            if (clonedBlindCarbonCopies.Length > 0)
            {
                data.Add(
                    new StringContent(string.Join(",", clonedBlindCarbonCopies.Select(ToMailGunAddress)),
                                      Encoding.UTF8),
                    "bcc");
            }

            data.Add(new StringContent(await RenderAsync(subject, additionalSubjectData)), "subject");
            data.Add(new StringContent(await RenderAsync(content, additionalContentData)),
                     isHtmlContent ? "html" : "text");

            var httpResponseMessage = await _httpClient
                                      .PostAsync(new Uri($"v3/{_mailGunHost.Domain}/messages", UriKind.Relative), data,
                                                 cancellationToken);

            OnMailSent?.Invoke(httpResponseMessage);
        }
Ejemplo n.º 19
0
        public virtual async Task SendMailAsync(IMailAddress sender, IMailAddress[] recipients,
                                                IMailAddress[] carbonCopies,
                                                IMailAddress[] blindCarbonCopies, string subject, string content, bool isHtmlContent = false,
                                                object additionalSubjectData        = null, object additionalContentData = null,
                                                Attachment[] attachments            = default,
                                                CancellationToken cancellationToken = default)
        {
            using (var smtpClient = GetSmtpClient(_mailClientSetting))
            {
                var mailMessage = await BuildMailMessageAsync(_mailClientSetting, sender, recipients, subject,
                                                              content,
                                                              additionalSubjectData, additionalContentData, carbonCopies, blindCarbonCopies,
                                                              attachments,
                                                              isHtmlContent,
                                                              cancellationToken);

                await smtpClient.SendMailAsync(mailMessage);
            }
        }
Ejemplo n.º 20
0
        protected MailboxModel(int id, int tenant, IMailAddress address, string name, IMailAccount account,
                               ICollection <IMailAddress> aliases, MailServerBase server)
            : base(new MailAccountBase(account), new MailAddressBase(address), name, (aliases.Select(a => new MailAddressBase(a)).ToList()))
        {
            if (id < 0)
            {
                throw new ArgumentException("Invalid domain id", "id");
            }

            if (tenant < 0)
            {
                throw new ArgumentException("Invalid tenant id", "tenant");
            }

            if (account == null)
            {
                throw new ArgumentException("Invalid account", "account");
            }

            if (address == null)
            {
                throw new ArgumentException("Invalid address", "address");
            }

            if (aliases == null)
            {
                throw new ArgumentException("Invalid aliases", "aliases");
            }

            if (server == null)
            {
                throw new ArgumentException("Invalid server", "server");
            }

            Id      = id;
            Tenant  = tenant;
            Account = account;
            Address = address;
            Aliases = aliases;
            Server  = server;
        }
Ejemplo n.º 21
0
        public virtual async Task SendMailAsync(IMailAddress sender, IMailAddress[] recipients,
                                                IMailAddress[] carbonCopies,
                                                IMailAddress[] blindCarbonCopies, string templateName, object additionalSubjectData = null,
                                                object additionalContentData        = null,
                                                Attachment[] attachments            = default,
                                                CancellationToken cancellationToken = default)
        {
            // Find mail content asynchronously.
            var mailContent = await GetMailContentAsync(templateName, cancellationToken);

            if (mailContent == null)
            {
                throw new Exception($"Template named {templateName} is not found.");
            }

            await SendMailAsync(sender, recipients, carbonCopies, blindCarbonCopies, mailContent.Subject,
                                mailContent.Content, mailContent.IsHtml,
                                additionalSubjectData, additionalContentData,
                                attachments,
                                cancellationToken);
        }
Ejemplo n.º 22
0
        protected MailGroupModel(int id, int tenant, IMailAddress address, List<IMailAddress> inAddresses, MailServerBase server)
            : base(new MailAddressBase(address), (inAddresses.Select(a => new MailAddressBase(a)).ToList()))
        {
            if (id < 0)
                throw new ArgumentException("Invalid domain id", "id");

            if (tenant < 0)
                throw new ArgumentException("Invalid tenant id", "tenant");

            if (address == null)
                throw new ArgumentException("Invalid address", "address");

            if (inAddresses == null)
                throw new ArgumentException("Invalid aliases", "inAddresses");

            if (server == null)
                throw new ArgumentException("Invalid server", "server");

            Id = id;
            Tenant = tenant;
            Address = address;
            InAddresses = inAddresses;
            Server = server;
        }
 /// <summary>
 /// Determines whether the <see cref="T:System.Collections.Generic.ICollection`1"/> contains a specific value.
 /// </summary>
 /// <returns>
 /// true if <paramref name="item"/> is found in the <see cref="T:System.Collections.Generic.ICollection`1"/>; otherwise, false.
 /// </returns>
 /// <param name="item">The object to locate in the <see cref="T:System.Collections.Generic.ICollection`1"/>.</param>
 public bool Contains(IMailAddress item)
 {
     return this.mailAddresses.Contains(item);
 }
 /// <summary>
 /// Removes the first occurrence of a specific object from the <see cref="T:System.Collections.Generic.ICollection`1"/>.
 /// </summary>
 /// <returns>
 /// true if <paramref name="item"/> was successfully removed from the <see cref="T:System.Collections.Generic.ICollection`1"/>; otherwise, false. This method also returns false if <paramref name="item"/> is not found in the original <see cref="T:System.Collections.Generic.ICollection`1"/>.
 /// </returns>
 /// <param name="item">The object to remove from the <see cref="T:System.Collections.Generic.ICollection`1"/>.</param><exception cref="T:System.NotSupportedException">The <see cref="T:System.Collections.Generic.ICollection`1"/> is read-only.</exception>
 public bool Remove(IMailAddress item)
 {
     return this.mailAddresses.Remove(item);
 }
Ejemplo n.º 25
0
        /// <summary>
        ///     Build email using specific settings.
        /// </summary>
        /// <returns></returns>
        protected virtual async Task <MailMessage> BuildMailMessageAsync(
            IMailClientSetting mailClientSetting,
            IMailAddress sender, IMailAddress[] recipients,
            string subject, string content,
            object additionalSubjectData     = null,
            object additionalContentData     = null,
            IMailAddress[] carbonCopies      = null,
            IMailAddress[] blindCarbonCopies = null,
            Attachment[] attachments         = default,
            bool isHtml = default,
            CancellationToken cancellationToken = default)
        {
            if (sender == null)
            {
                throw new Exception("Sender is not found");
            }

            if (recipients == null || recipients.Length < 1)
            {
                throw new Exception("No recipient has been defined.");
            }

            var smtpMail = new MailMessage();

            smtpMail.Sender = new MailAddress(sender.Address, sender.DisplayName);
            smtpMail.From   = new MailAddress(sender.Address, sender.DisplayName);

            // Recipients
            foreach (var recipient in recipients)
            {
                smtpMail.To.Add(new MailAddress(recipient.Address, recipient.DisplayName));
            }

            var clonedCarbonCopies = (carbonCopies ?? new IMailAddress[0])
                                     .Concat(mailClientSetting?.CarbonCopies ?? new IMailAddress[0])
                                     .ToArray();

            var clonedBlindCarbonCopies = (blindCarbonCopies ?? new IMailAddress[0])
                                          .Concat(mailClientSetting?.BlindCarbonCopies ?? new IMailAddress[0])
                                          .ToArray();

            // Carbon copies
            foreach (var carbonCopy in clonedCarbonCopies)
            {
                smtpMail.CC.Add(new MailAddress(carbonCopy.Address, carbonCopy.DisplayName));
            }

            // Blind carbon copies.
            foreach (var blindCarbonCopy in clonedBlindCarbonCopies)
            {
                smtpMail.Bcc.Add(new MailAddress(blindCarbonCopy.Address,
                                                 blindCarbonCopy.DisplayName));
            }

            smtpMail.Subject = await RenderContentAsync(subject, additionalSubjectData);

            smtpMail.Body = await RenderContentAsync(content, additionalContentData);

            smtpMail.IsBodyHtml = isHtml;

            if (attachments != null && attachments.Length > 0)
            {
                foreach (var attachment in attachments)
                {
                    smtpMail.Attachments.Add(attachment);
                }
            }

            return(smtpMail);
        }
Ejemplo n.º 26
0
 public MockMailGroup(int id, int tenant, IMailAddress address, List<IMailAddress> inAddresses, MailServerBase server) 
     : base(id, tenant, address, inAddresses, server)
 {
     _serverData = MockServerData.GetInstance();
 }
Ejemplo n.º 27
0
 public override IMailbox CreateMailbox(int id, int tenant, IMailAddress address, IMailAccount account, List<IMailAddress> aliases,
                                            MailServerBase server)
 {
     return new PostfixMailbox(id, tenant, address, account, aliases, server);
 }
Ejemplo n.º 28
0
 public override IMailGroup CreateMailGroup(int id, int tenant, IMailAddress address, List<IMailAddress> inAddresses, MailServerBase server)
 {
     return new PostfixMailGroup(id, tenant, address, inAddresses, server);
 }
Ejemplo n.º 29
0
 public abstract IMailbox CreateMailbox(int id, int tenant, IMailAddress address, IMailAccount account,
                     List<IMailAddress> aliases, MailServerBase server);
 public void CompareMailboxesWithDifferentIdsWorks()
 {
     _paulAddress = TestContext.CreateRandomMailAddress(_petersDomain);
     Assert.IsFalse(_peterAddress.Equals(_paulAddress));
 }
 public void Init()
 {
     _server       = TestContext.CreateServer();
     _petersDomain = _server.CreateWebDomain(_peterDomainName, IS_VERIFIED, TestContext.ServerFactory);
     _peterAddress = TestContext.CreateRandomMailAddress(_petersDomain);
 }
Ejemplo n.º 32
0
 public MockMailGroup(int id, int tenant, IMailAddress address, List <IMailAddress> inAddresses, MailServerBase server)
     : base(id, tenant, address, inAddresses, server)
 {
     _serverData = MockServerData.GetInstance();
 }
Ejemplo n.º 33
0
 protected virtual string ToMailGunAddress(IMailAddress mailAddress)
 {
     return($"{mailAddress.DisplayName} <{mailAddress.Address}>");
 }
Ejemplo n.º 34
0
 public AbstractMailMessage GenerateMail(IMailAddress sender, List <IMailAddress> toAddresses, List <IMailAddress> ccAddresses, List <IMailAddress> bccAddresses,
                                         List <string> attachmentsList, string subject, string body)
 {
     throw new NotImplementedException();
 }
Ejemplo n.º 35
0
 public PostfixMailbox(int id, int tenant, IMailAddress address, IMailAccount account, List <IMailAddress> aliases, MailServerBase server)
     : base(id, tenant, address, account, aliases, server)
 {
 }
Ejemplo n.º 36
0
 public void Init()
 {
     _server = TestContext.CreateServer();
     _petersDomain = _server.CreateWebDomain(_peterDomainName, IS_VERIFIED, TestContext.ServerFactory);
     _peterAddress = TestContext.CreateRandomMailAddress(_petersDomain);
 }
Ejemplo n.º 37
0
 public abstract IMailGroup CreateMailGroup(int id, int tenant, IMailAddress address, List<IMailAddress> inAddresses, MailServerBase server);
Ejemplo n.º 38
0
 public MailAddressBase(IMailAddress mail_address)
     : this(mail_address.LocalPart, new WebDomainBase(mail_address.Domain))
 {
 }
Ejemplo n.º 39
0
 public void CompareMailboxesWithDifferentIdsWorks()
 {
     _paulAddress = TestContext.CreateRandomMailAddress(_petersDomain);
     Assert.IsFalse(_peterAddress.Equals(_paulAddress));
 }
Ejemplo n.º 40
0
 public MailAddressBase(IMailAddress mailAddress)
     : this(mailAddress.LocalPart, new WebDomainBase(mailAddress.Domain))
 {
     
 }
Ejemplo n.º 41
0
 public override IMailGroup CreateMailGroup(int id, int tenant, IMailAddress address, List <IMailAddress> inAddresses, MailServerBase server)
 {
     return(new MockMailGroup(id, tenant, address, inAddresses, server));
 }
Ejemplo n.º 42
0
 public PostfixMailbox(int id, int tenant, IMailAddress address, IMailAccount account, List<IMailAddress> aliases, MailServerBase server) 
     : base(id, tenant, address, account, aliases, server)
 {
 }
 /// <summary>
 /// Adds an item to the <see cref="T:System.Collections.Generic.ICollection`1"/>.
 /// </summary>
 /// <param name="item">The object to add to the <see cref="T:System.Collections.Generic.ICollection`1"/>.</param><exception cref="T:System.NotSupportedException">The <see cref="T:System.Collections.Generic.ICollection`1"/> is read-only.</exception>
 public void Add(IMailAddress item)
 {
     this.mailAddresses.Add(item);
 }
Ejemplo n.º 44
0
 public void CompareMailboxesWithDifferentDomainsWorks()
 {
     _paulsDomain = _server.CreateWebDomain(_paulsDomainName, IS_VERIFIED, TestContext.ServerFactory);
     _paulAddress = TestContext.CreateRandomMailAddress(_paulsDomain);
     Assert.IsFalse(_peterAddress.Equals(_paulAddress));
 }
 /// <summary>
 /// Copies the elements of the <see cref="T:System.Collections.Generic.ICollection`1"/> to an <see cref="T:System.Array"/>, starting at a particular <see cref="T:System.Array"/> index.
 /// </summary>
 /// <param name="array">
 /// The one-dimensional <see cref="T:System.Array"/> that is the destination of the elements copied 
 /// from <see cref="T:System.Collections.Generic.ICollection`1"/>. The <see cref="T:System.Array"/> 
 /// must have zero-based indexing.</param><param name="arrayIndex">The zero-based index in <paramref name="array"/>
 /// at which copying begins.</param>
 /// <exception cref="T:System.ArgumentNullException">
 /// <paramref name="array"/> is null.
 /// </exception>
 /// <exception cref="T:System.ArgumentOutOfRangeException">
 /// <paramref name="arrayIndex"/> is less than 0.
 /// </exception>
 /// <exception cref="T:System.ArgumentException">
 /// <paramref name="array"/> is multidimensional.-or-The number of elements in the source 
 /// <see cref="T:System.Collections.Generic.ICollection`1"/> is greater than the available space from 
 /// <paramref name="arrayIndex"/> to the end of the destination <paramref name="array"/>.-or-Type <paramref name="T"/> 
 /// cannot be cast automatically to the type of the destination <paramref name="array"/>.
 /// </exception>
 public void CopyTo(IMailAddress[] array,
                    int arrayIndex)
 {
     this.mailAddresses.CopyTo(array, arrayIndex);
 }
Ejemplo n.º 46
0
 public override IMailbox CreateMailbox(int id, int tenant, IMailAddress address, string name,
                                        IMailAccount account, List <IMailAddress> aliases, MailServerBase server)
 {
     return(new MockMailbox(id, tenant, address, name, account, aliases, server));
 }
Ejemplo n.º 47
0
 public override IMailbox CreateMailbox(int id, int tenant, IMailAddress address, IMailAccount account, List <IMailAddress> aliases,
                                        MailServerBase server)
 {
     return(new PostfixMailbox(id, tenant, address, account, aliases, server));
 }
Ejemplo n.º 48
0
 public PostfixMailGroup(int id, int tenant, IMailAddress address, List<IMailAddress> inAddresses, MailServerBase server) 
     : base(id, tenant, address, inAddresses, server)
 {
 }
Ejemplo n.º 49
0
 public MockMailbox(int id, int tenant, IMailAddress address, IMailAccount account, 
     List<IMailAddress> aliases, MailServerBase server) 
     : base(id, tenant, address, account, aliases, server)
 {
     _serverData = MockServerData.GetInstance();
 }
 public void CompareMailboxesWithDifferentDomainsWorks()
 {
     _paulsDomain = _server.CreateWebDomain(_paulsDomainName, IS_VERIFIED, TestContext.ServerFactory);
     _paulAddress = TestContext.CreateRandomMailAddress(_paulsDomain);
     Assert.IsFalse(_peterAddress.Equals(_paulAddress));
 }
 public abstract IMailbox CreateMailbox(int id, int tenant, IMailAddress address, IMailAccount account,
                                        List <IMailAddress> aliases, MailServerBase server);
Ejemplo n.º 52
0
 public PostfixMailGroup(int id, int tenant, IMailAddress address, List <IMailAddress> inAddresses, MailServerBase server)
     : base(id, tenant, address, inAddresses, server)
 {
 }
 public abstract IMailGroup CreateMailGroup(int id, int tenant, IMailAddress address, List <IMailAddress> in_addresses, MailServerBase server);