static void TestFoeMessageToXml()
        {
            PrintTitle("Testing FoeMessage.ToXml()");

            FoeMessage message = new FoeMessage();

            string[,] data = new string[3, 2] {
                { "RequestId", "12345" }, { "UserId", "ABCDE" }, { "Request", "RFACHINESE" }
            };
            for (int i = 0; i < 3; i++)
            {
                FoeMessageItem item = new FoeMessageItem(data[i, 0], data[i, 1]);
                message.Add(item);
            }

            Console.WriteLine(message.ToXml());

            // test send email
            Console.WriteLine("Sending message to [email protected]...");
            SmtpServer server = new SmtpServer();

            server.ServerName   = "smtp.gmail.com";
            server.Port         = 587;
            server.AuthRequired = true;
            server.SslEnabled   = true;
            server.UserName     = "******";
            server.Password     = "******";
            MessageManager.SendMessage(server, "*****@*****.**", "*****@*****.**", "Test Message", message);
            Console.WriteLine("Message sent");
        }
示例#2
0
        public Form1()
        {
            InitializeComponent();

            // generate a sample message
            FoeMessage msg = new FoeMessage();

            msg.Add(new FoeMessageItem("RequestType", "RssFeed"));
            msg.Add(new FoeMessageItem("FeedId", "VOACHINESE"));
            tbxSource.Text = msg.ToXml();
        }
示例#3
0
        public static void SendRegistration()
        {
            // Check if user's email is available
            FoeClientRegistryEntry email = FoeClientRegistry.GetEntry("useremail");

            if ((email == null) || (email.Value == null) || (email.Value.Length < 3))
            {
                // Invalid user email
                return;
            }

            // Prepare message to send to server
            FoeMessage message = new FoeMessage();

            message.Add(new FoeMessageItem("UserEmail", email.Value));

            // Get SMTP server configurations
            SmtpServer server = null;

            try
            {
                server = FoeClientMessage.GetSmtpServer();
            }
            catch (Exception except)
            {
                throw new Exception("Invalid SMTP configurations.\r\n" + except.ToString());
            }

            // Send email
            try
            {
                string requestId = FoeClientRequest.GenerateId();
                FoeClientMessage.SendMessage(
                    server,
                    email.Value,
                    FoeClientRegistry.GetEntry("processoremail").Value,
                    SubjectGenerator.RequestSubject(RequestType.Registration, requestId, "Newbie"),
                    message);

                // Save request info
                FoeClientRequestItem req = new FoeClientRequestItem();
                req.Id          = requestId;
                req.Type        = "reg";
                req.DtRequested = DateTime.Now;
                FoeClientRequest.Add(req);
            }
            catch (Exception except)
            {
                throw new Exception("Error sending message.\r\n" + except.ToString());
            }
        }
        static void TestFoeMessageImportXml()
        {
            PrintTitle("Testing FoeMessage.ImportXml()");

            FoeMessage message = new FoeMessage();

            string[,] data = new string[3, 2] {
                { "RequestId", "12345" }, { "UserId", "ABCDE" }, { "Request", "RFACHINESE" }
            };
            for (int i = 0; i < 3; i++)
            {
                FoeMessageItem item = new FoeMessageItem(data[i, 0], data[i, 1]);
                message.Add(item);
            }

            message.ImportXml(message.ToXml());
            Console.WriteLine(message.ToXml());
        }
示例#5
0
        private void SendSubscriptionRequest()
        {
            try
            {
                // Delete all previous content requests
                FoeClientRequest.DeleteOldRequest(_requestInterval);

                // Create Foe Message
                FoeMessage message = new FoeMessage();
                List <FoeClientCatalogItem> catalog = FoeClientCatalog.GetAll();
                foreach (FoeClientCatalogItem item in catalog)
                {
                    if (item.IsSubscribed)
                    {
                        message.Add(new FoeMessageItem("CatalogCode", item.Code));
                    }
                }
                string requestId = FoeClientRequest.GenerateId();

                FoeClientMessage.SendMessage(
                    FoeClientMessage.GetSmtpServer(),
                    FoeClientRegistry.GetEntry("useremail").Value,
                    FoeClientRegistry.GetEntry("processoremail").Value,
                    SubjectGenerator.RequestSubject(RequestType.Content, requestId, FoeClientRegistry.GetEntry("userid").Value),
                    message);

                // save requestid to DB
                FoeClientRequestItem reqItem = new FoeClientRequestItem();
                reqItem.Id          = requestId;
                reqItem.Type        = "content";
                reqItem.DtRequested = DateTime.Now;
                FoeClientRequest.Add(reqItem);

                // remember when the request was sent
                _lastRequestSent = DateTime.Now;
                // Set status
                tssStatus.Text = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss") + " requested update.";
            }
            catch (Exception)
            {
                tssStatus.Text = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss") + " error sending request.";
            }
        }
示例#6
0
 public static void SendMessage(SmtpServer server, string from, string to, string subject, FoeMessage message)
 {
     // simply call the SendMessage function in the Common.MessageManager namespace
     Foe.Common.MessageManager.SendMessage(server, from, to, subject, message);
 }