Toon posts:

Synchronisatie maken in C#

Pagina: 1
Acties:
  • 201 views sinds 30-01-2008
  • Reageer

Verwijderd

Topicstarter
Hallo,

Ik ben van plan om een eigen gebouwde takenlijst te laten synchroniseren met MS exchange,
maar ik heb dit nog nooit gedaan.
Zou me iemand me hiermee op weg willen helpen

Alvast bedankt,

G. Wessels

  • whoami
  • Registratie: December 2000
  • Laatst online: 00:54
We willen je best helpen, maar het is wel niet de bedoeling dat we hier alles gaan voorkauwen; post dus eens hoe je zelf evt gedacht had hoe je dit zou aanpakken; heb je zelf al even gezocht (mbhv google bv) over artikelen die daarover gaan, heb je zelf uberhaupt al iets geprobeerd ?

Lees bv eens :
Programming Beleid

https://fgheysels.github.io/


Verwijderd

Topicstarter
Ik heb inmiddels gezocht op CDOEXM en dat heeft mer al enige informatie opgeleverd die nuttig is, dus het begin is er

  • whoami
  • Registratie: December 2000
  • Laatst online: 00:54
Maar, daar weten wij nog niets mee... Als je niet aangeeft waar je zelf concreet al aan denkt, dan zullen mensen ook niet snel geneigd zijn om je hier te helpen, gewoon omdat het ook voor hen moeilijk is om:
- te weten welke richting je uit wil
- als ze dat wel weten, gaan ze misschien tips geven waar je niets aan hebt, omdat je een andere aanpak wil, of gaan ze misschien dingen zeggen die je zelf al geprobeerd hebt.

https://fgheysels.github.io/


Verwijderd

Topicstarter
Nou ik zit met het volgende:
Ik moet taken uit mijn eigen gebouwde takenlijst laten synchroniseren met een exchange server.
Ik heb dit nog nooit eerder gedaan, dus het zal voor mij ook niet meevallen om exact te beschrijven.
Maar ik weet nu dat ik het object CDOEXM, ADODB en CDO in C# zal moeten gebruiken.
De bedoeling dus van dit is om de taken uit de takenlijst in de takenlijst van exchange op te laten slaan en van de exchange naar de eigen gebouwde takenlijst te laten opslaan.

  • whoami
  • Registratie: December 2000
  • Laatst online: 00:54
Heb je al iets geprobeerd met de informatie die je vind als je deze zoektermen eens in google gebruikt ?

https://fgheysels.github.io/


Verwijderd

Topicstarter
Ik heb inmiddels al een tutorial gevonden die mij enigzins al op weg helpt.
maar goed, hier kan ik miscchien ook nog wel wat mee.

  • Vincenz0
  • Registratie: Augustus 2006
  • Laatst online: 25-09 14:06

Vincenz0

Coder

Verwijderd schreef op vrijdag 12 januari 2007 @ 11:00:
Ik heb inmiddels al een tutorial gevonden die mij enigzins al op weg helpt.
maar goed, hier kan ik miscchien ook nog wel wat mee.
link naar die tutorial?
gaarne dit topic ook nuttig houden voor anderen.

Coding 4 Fun!


Verwijderd

Topicstarter
Hier heb je een aantal links naar tutorial:

How to create a mailbox-enabled recipient by using Visual C#

nog een link

[ Voor 3% gewijzigd door Verwijderd op 16-01-2007 08:18 ]


Verwijderd

Topicstarter
Hier is een duidelijk voorbeeld hoe je een user aanmaakt in exchange.
Let op: er wordt alleen een user aangemaakt met een password, dus zonder mailbox

C#:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
string homeMDB = "CN=Mailbox Store (SERVERNAAM), "+
                " CN=First Storage Group,CN=InformationStore,CN=SERERNAAM,CN=Servers, "+ 
                " CN=First Administrative Group,CN=Administrative Groups,CN=exchange00, "+ 
                " CN=Microsoft Exchange,CN=Services,CN=Configuration,DC=DOMEINNAAM,DC=local";

            string fullName = "Gebruikersnaam";
            string alias = fullName;
            string password = "Het wachtwoord";

            DirectoryEntry container, user;
            CDOEXM.IMailboxStore mailbox;

            //Create new user

            //Het pad waar de gebruiker moet worden aangemaakt. 
            //let wel op: in het pad mag geen gebruikersnaam voorkomen. Nieuwe gebruiker moet op OU niveau worden aagemaakt.
            container = new DirectoryEntry("LDAP://SERVERNAAM OF SERVER-IP/OU=Test,DC=testdomein,DC=local", "domein user(bijv. Administrator)", "domeinwachtwoord");
            
            //create new user
            user = container.Children.Add("cn=" + fullName, "User");
            user.Properties["sAMAccountName"].Add(alias);
            user.CommitChanges();
            user.Invoke("SetPassword", new object[]{password});

            //enable new user
            user.Properties["userAccountControl"].Value = 0x200;
            user.CommitChanges();

  • NMe
  • Registratie: Februari 2004
  • Laatst online: 20-11 11:59

NMe

Quia Ego Sic Dico.

Code posten doen we hier tussen [code]-tags; ik heb het even voor je aangepast. Zie Hoe post je code? / Hoe gebruik je de code tag? en doe het de volgende keer zelf even a.u.b. :)

'E's fighting in there!' he stuttered, grabbing the captain's arm.
'All by himself?' said the captain.
'No, with everyone!' shouted Nobby, hopping from one foot to the other.


Verwijderd

Topicstarter
Sorry, kzal er de volgende keer aan denken

Verwijderd

Topicstarter
hier ff wat anders:

Hier wordt er een mail gecreërd met daaraan een bijlage.
Importeer je in outlook vervolgens de bijlage, dan wordt er dus automatisch een agenda afspraak gemaakt.
Let wel op bij het importeren van het betand, dat je het importeert als Vcalendar bestand

C#:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
 

public string CreateTask(DateTime start, DateTime end, string sub, string msgBody)
        {
            StringBuilder sbvCalendar = new StringBuilder();

            sbvCalendar.Append("METHOD: REQUEST");
            sbvCalendar.Append("\n");
            sbvCalendar.Append("BEGIN:VCALENDAR");
            sbvCalendar.Append("\n");
            sbvCalendar.Append("PRODID:-//Microsoft Corporation//Outlook ");
            sbvCalendar.Append("\n");
            sbvCalendar.Append("MIMEDIR//ENVERSION:1.0");
            sbvCalendar.Append("\n");
            sbvCalendar.Append("BEGIN:VEVENT");
            sbvCalendar.Append("\n");
                
            //DTSTART 
            sbvCalendar.Append("DTSTART:");
            string hour = start.Hour.ToString();
            if(hour.Length<2){hour ="0"+ hour;}
            
            string min = start.Minute.ToString();
            if(min.Length<2){min = "0" + min;}
            
            string sec = start.Second.ToString();
            if(sec.Length<2){sec = "0" + sec;}

            string mon = start.Month.ToString();
            if(mon.Length<2){mon ="0" + mon;}
             
            string day = start.Day.ToString();
            if(day.Length<2){day ="0" + day;}

            sbvCalendar.Append(start.Year.ToString()+ mon + day 
                +  "T" + hour + min + sec );
            sbvCalendar.Append("\n");

            //DTEND
            sbvCalendar.Append("DTEND:");
            hour = end.Hour.ToString();
            if(hour.Length<2){hour ="0"+ hour;}

            min = end.Minute.ToString();
            if(min.Length<2){min = "0" + min;}
                
            sec = end.Second.ToString();
            if(sec.Length<2){sec = "0" + sec;}

            mon = end.Month.ToString();
            if(mon.Length<2){mon ="0" + mon;}
             
            day = end.Day.ToString();
            if(day.Length<2){day ="0" + day;}

            sbvCalendar.Append(end.Year.ToString()+ mon + 
                day +  "T" + hour + min + sec );
            sbvCalendar.Append("\n");

            //Location
            sbvCalendar.Append("LOCATION;ENCODING=QUOTED-PRINTABLE: " 
                + String.Empty);
            sbvCalendar.Append("\n");
        
            //Message body
            sbvCalendar.Append("DESCRIPTION;ENCODING=QUOTED-PRINTABLE:" 
                + msgBody);
            sbvCalendar.Append("\n");

            //Subject
            sbvCalendar.Append("SUMMARY;ENCODING=QUOTED-PRINTABLE:" 
                + sub);
            sbvCalendar.Append("\n");

            //Priority
            sbvCalendar.Append("PRIORITY:3");
            sbvCalendar.Append("\n");
            sbvCalendar.Append("END:VEVENT");
            sbvCalendar.Append("\n");
            sbvCalendar.Append("END:VCALENDAR");
            sbvCalendar.Append("\n");
            
            return sbvCalendar.ToString();

        }

        #endregion

        #region MakeObject
        public void MakeObject()
        {
            string sub = "Test";
            string body = "Testing Task";

            MailMessage msg = new MailMessage();
            msg.From = "gebruiker@domein.nl";
            msg.To = "gebruiker@domein.nl";
            msg.Subject = sub;
            msg.BodyEncoding = System.Text.Encoding.UTF8;
            msg.Body = body;

            DateTime start = DateTime.Parse("Jan 1, 2007");
            DateTime end = DateTime.Parse("Jan 2, 2007");
            DateTime ex = DateTime.Now;

            string attachUrl = @"C:\MAPNAAM\BESTANDSNAAM.vcs";
        
            //Creating task
            using (StreamWriter sw = new StreamWriter(attachUrl))
            {
                sw.Write(CreateTask(start, end, sub, body));
            }

            MailAttachment mAttachement = new MailAttachment(attachUrl);
            msg.Attachments.Add(mAttachement);
                        
            SmtpMail.SmtpServer = "SERVERNAAM OF IP";
            SmtpMail.Send(msg);          
        
        }


De code die bij de functie string staat, wordt geëxporteerd naar een bestand en dat bestand wordt als bijlage bijgevoegd in de mail

  • ATS
  • Registratie: September 2001
  • Laatst online: 28-11 20:56

ATS

Geweldig. Wat moeten wij met al die code? Heb je er een vraag over? Waar komt 'ie vandaan (zelf geschreven, uit die tutorial?) Ik heb nog altijd geen concrete vraag gezien eigenlijk...

My opinions may have changed, but not the fact that I am right. -- Ashleigh Brilliant

Pagina: 1