Exemplo n.º 1
0
        private static void ProcessCreateChangedEmailAccount (Person newMailPerson, Person requestingPerson,
                                                              string oldAddress)
        {
            try
            {
                string newAddress = newMailPerson.CreateUniquePPMailAddress(); // TODO: Change to organization-derived
                string basicNewAddress = newMailPerson.CreatePPMailAddress();

                string password = Formatting.GeneratePassword(16);

                MailServerDatabase.AddAccount(newAddress, password, 1024);
                MailServerDatabase.StartForwarding(oldAddress, newAddress);

                newMailPerson.PartyEmail = newAddress;

                // Send notice to person that the account has been created

                string noticeBody =
                    "Hej,\r\n\r\n" +
                    "det här är ett automatbrev som skickas ut eftersom du har begärt en ändring av namnet " +
                    "på ditt mailkonto i " +
                    "Piratpartiet och/eller Ung Pirat.\r\n\r\n" +
                    "Din nya mailadress är " + newAddress + ".\r\n\r\n" +
                    "Ditt login till servrarna är " + newAddress + " (samma som mailadressen).\r\n\r\n" +
                    "Ditt lösenord är satt till " + password + ". Inom kort kommer du att kunna byta det " +
                    "på PirateWeb.\r\n\r\n" +
                    "Din gamla adress (" + oldAddress + ") kommer att fortsätta att fungera att skicka till, " +
                    "men mailen kommer att vidarebefordras till " + newAddress + ".\r\n\r\n" +
                    MailConnectionExplanation(newAddress) +
                    "Hör av dig om du har några frågor!\r\n" +
                    "Piratpartiet medlemsservice (automatbrev)\r\n";

                if (newAddress != basicNewAddress)
                {
                    noticeBody += "\r\n\r\nPS.\r\n\r\n" +
                        "Om du undrar varför du fått \"" + newAddress + "\" istället för \"" + basicNewAddress + "\" så beror det på att den var upptagen, så vi fick lägga till en bokstav extra där för att du skulle få en egen... DS.";
                }

                newMailPerson.SendNotice("Du har fått en ny mailadress under piratpartiet.se", noticeBody, Organization.PPSEid);

                string noticeBody2 =
                    "Hej,\r\n\r\n" +
                    "det här är ett automatbrev för att tala om att " + newMailPerson.Name +
                    " har bytt mailadress till " + newAddress + ", " +
                    "från den gamla " + oldAddress + " \r\n\r\n" +
                    "Följ gärna upp med honom/henne att mailen har kommit igång ordentligt. Mail är ett av våra viktigaste " +
                    "verktyg.\r\n";

                requestingPerson.SendOfficerNotice("Ny mailadress tilldelad till " + newMailPerson.Name, noticeBody2, Organization.PPSEid);

                newMailPerson.SendOfficerNotice("Din mailadress fungerar",
                                                "Eftersom du kan läsa detta så fungerar din mailadress.", Organization.PPSEid);
            }
            catch (Exception e)
            {
                DebugWriteLine(e.ToString());
                throw e;
            }
        }
Exemplo n.º 2
0
        private static void ProcessCreateNewEmailAccount (Person newMailPerson, Person requestingPerson)
        {
            if (newMailPerson.PartyEmail.Length > 1)
            {
                return; // Already has mail address
            }

            try
            {
                string newAddress = newMailPerson.CreateUniquePPMailAddress(); // TODO: Change to organization-derived
                string basicNewAddress = newMailPerson.CreatePPMailAddress();

                // string adAccountName = ActiveDirectoryCode.GetADAccountName(newMailPerson);  -- COMMENTED OUT - AD DEACTIVATED


                string password = Formatting.GeneratePassword(16);

                MailServerDatabase.AddAccount(newAddress, password, 1024);
                newMailPerson.PartyEmail = newAddress;

                /** -- COMMENTED OUT -- OLD EXCHANGE-FACING CODE -- KEEP AS COMMENT FOR REFERENCE --

				// Create AD account

				ActiveDirectoryCode.AddUser(newMailPerson, organization, password);

				// Add to security group 

				ActiveDirectoryCode.AddUserToPirateSecurityGroup(newMailPerson, organization);

				// Mail enable

				ExchangeCode.CreateMailbox(newMailPerson);

				// Add internal mail addresses

				ActiveDirectoryCode.AddEmailAddress(newMailPerson, adAccountName + "@internal.pirateweb.net", false);
				ActiveDirectoryCode.AddEmailAddress(newMailPerson, adAccountName + "@pirateweb.net", false);

				// Add primary mail address

				ActiveDirectoryCode.AddEmailAddress(newMailPerson, newAddress, true); -- */


                // Send notice to person that the account has been created


                string noticeBody =
                    "Hej,\r\n\r\n" +
                    "det här är ett automatbrev som skickas ut eftersom du har fått en funktionärsroll i " +
                    "Piratpartiet och/eller Ung Pirat. Som en viktig del av att vara funktionär, så behöver du en mailadress " +
                    "under piratpartiet.se, för att kunna agera officiellt. Därför har du fått en sådan.\r\n\r\n" +
                    "Din mailadress är " + newAddress + ".\r\n\r\n" +
                    "Ditt login till servrarna är " + newAddress + " (samma som mailadressen).\r\n\r\n" +
                    "Ditt lösenord är satt till " + password +
                    ". Inom kort kommer du att kunna byta det på PirateWeb.\r\n\r\n" +
                    "Försök att börja läsa mail från den adressen så snart som möjligt; i vissa roller kan " +
                    "det hända att du redan står som lokal kontaktperson, när medlemmar letar.\r\n\r\n" +
                    MailConnectionExplanation(newAddress) +
                    /* Fix for Ticket #50 */
                    "Du kan också hitta bra information här: http://forum.piratpartiet.se/Topic131505-56-1.aspx\r\n\r\n" +
                    "Hör av dig om du har några frågor!\r\n" +
                    "Piratpartiet medlemsservice (automatbrev)\r\n";

                if (newAddress != basicNewAddress)
                {
                    noticeBody += "\r\n\r\nPS.\r\n\r\n" +
                        "Om du undrar varför du fått \"" + newAddress + "\" istället för \"" + basicNewAddress + "\" så beror det på att den var upptagen, så vi fick lägga till en bokstav extra där för att du skulle få en egen... DS.";

                }

                newMailPerson.SendNotice("Du har fått en mailadress under piratpartiet.se", noticeBody, Organization.PPSEid);

                string noticeBody2 =
                    "Hej,\r\n\r\n" +
                    "det här är ett automatbrev för att tala om att " + newMailPerson.Name + " har fått en mailadress, " +
                    newAddress + ", " +
                    "och instruktioner för hur man sätter upp den. (Du gav nyligen honom/henne en funktionärsroll eller mailadress.)\r\n\r\n" +
                    "Följ gärna upp med honom/henne att mailen har kommit igång ordentligt. Mail är ett av våra viktigaste " +
                    "verktyg.\r\n";

                requestingPerson.SendOfficerNotice("Mailadress tilldelad till " + newMailPerson.Name, noticeBody2, Organization.PPSEid);

                newMailPerson.SendOfficerNotice("Din mailadress fungerar",
                                                "Eftersom du kan läsa detta så fungerar din mailadress.", Organization.PPSEid);
            }
            catch (Exception e)
            {
                DebugWriteLine(e.ToString());
                throw e;
            }
        }