解决方案 »

  1.   

    写错了,用的是Limilabs这个工具
      

  2.   

    你先看一下官网上的接收解析iCalendar会议请求的例子
    Receive iCalendar meeting request' VB.NETDim email As IMail = New MailBuilder().CreateFromEml(client.GetMessageByUID(uid))For Each appointment As Appointment In email.Appointments
    If appointment.Method = Method.Request Then
    ' appointment was created
    Dim summary As String = appointment.[Event].Summary
    Dim start As System.Nullable(Of DateTime) = appointment.[Event].Start
    Dim [end] As System.Nullable(Of DateTime) = appointment.[Event].[End]
    Dim location As String = appointment.[Event].Location Console.WriteLine("{0} at {1} ({2}-{3})", summary, location, start, [end]) For Each participant As Participant In appointment.[Event].Participants
    Console.WriteLine("Common name: " + participant.Cn)
    Console.WriteLine("Email: " + participant.Email)
    Console.WriteLine("Participation status: " + participant.Status)
    Next
    ElseIf appointment.Method = Method.Cancel Then
    ' appointment was canceled Console.WriteLine("Event was cancelled: " + appointment.[Event].UID)
    ElseIf appointment.Method = Method.Reply Then
    ' someone replied to the request
    For Each participant As Participant In appointment.[Event].Participants
    If participant.Status = ParticipationStatus.Accepted Then
    Console.WriteLine("Event was accepted by: " + participant.Email)
    ElseIf participant.Status = ParticipationStatus.Declined Then
    Console.WriteLine("Event was declined by: " + participant.Email)
    End If Next
    End If
    Next
      

  3.   


    // C#IMail email = new MailBuilder().CreateFromEml(client.GetMessageByUID(uid));foreach (Appointment appointment in email.Appointments)
    {
        if (appointment.Method == Method.Request)
        {
            // appointment was created
            string summary = appointment.Event.Summary;
            DateTime? start = appointment.Event.Start;
            DateTime? end = appointment.Event.End;
            string location = appointment.Event.Location;        Console.WriteLine("{0} at {1} ({2}-{3})", summary, location, start, end);        foreach (Participant participant in appointment.Event.Participants)
            {
                Console.WriteLine("Common name: " + participant.Cn);
                Console.WriteLine("Email: " + participant.Email);
                Console.WriteLine("Participation status: " + participant.Status);
            }
        }
        else if (appointment.Method == Method.Cancel)
        {
            // appointment was canceled
            Console.WriteLine("Event was cancelled: " + appointment.Event.UID);
            
        }
        else if (appointment.Method == Method.Reply)
        {
            // someone replied to the request
            foreach (Participant participant in appointment.Event.Participants)
            {
                if (participant.Status == ParticipationStatus.Accepted)
                    Console.WriteLine("Event was accepted by: " + participant.Email);
                else if (participant.Status == ParticipationStatus.Declined)
                    Console.WriteLine("Event was declined by: " + participant.Email);
            }    }
    }