/// <summary>
        /// Generates the fake email address for the real address.
        /// </summary>
        /// <param name="originalEmail">The original email.</param>
        /// <returns></returns>
        protected string GenerateFakeEmailAddressForAddress(string originalEmail)
        {
            string email = EmailMap.GetOrAdd(originalEmail.ToLower(), (key) =>
            {
                lock ( EmailMap )
                {
                    if (originalEmail.Contains("@"))
                    {
                        return($"user{ EmailMap.Count + 1 }@fakeinbox.com");
                    }
                    else
                    {
                        return($"user{ EmailMap.Count + 1 }");
                    }
                }
            });


            return(email);
        }
Exemplo n.º 2
0
        public bool ReadEmailMap()
        {
            if (string.IsNullOrEmpty(EmailMapFile))
            {
                return(true);
            }

            try
            {
                var xdoc = XDocument.Load(EmailMapFile);
                foreach (var map in xdoc.Elements("map"))
                {
                    EmailMap.Add(map.Attribute("name").Value.ToLower(), map.Attribute("email").Value);
                }
            }
            catch (FileNotFoundException)
            {
                return(false);
            }
            return(true);
        }