2017-11-06 2 views
-1

Ich folgte viele Tutorials über die Verwendung der Bibliothek iCal.NET, um einen Termin an Benutzer-E-Mail zu senden, aber es scheint nicht mit aspnet Core zu arbeiten. Der Fehler war: Namespace "Event" wurde nicht gefunden.iCal.NET .NET Core - Namespace 'Event' konnte nicht gefunden werden

Ich habe versucht, die Methode zu senden Termin in Google Kalender wie unten zu schreiben:

// creating the event 

      var now = DateTime.Now; 
      var later = now.AddHours(1); 

      var e = new Event 
      { 
       DtStart = new CalDateTime(now), 
       DtEnd = new CalDateTime(later)     
      }; 

      var calendar = new Calendar(); 
      calendar.Events.Add(e); 

      var serializer = new CalendarSerializer(new SerializationContext()); 
      var serializedCalendar = serializer.SerializeToString(calendar); 

Blick auf den Fehler: http://prntscr.com/h6vvcv

Hier ist die Bibliothek: https://github.com/rianjs/ical.net

Es gibt eine andere Art und Weise zu eine einfache E-Mail senden, um den Nutzer dazu zu bringen, seinem Google Kalender einen Termin hinzuzufügen?

Antwort

0

Endlich fand ich die Lösung zu meinem Problem, mit iCall.Net Bibliothek auf .Net CORE. Wie ich sagte, folgte ich dem Tutorial auf der Bibliothek Demo, aber das Ereignis Objekt wurde nicht gefunden.

Ich schrieb das Event-Objekt in anderer Art und Weise, und die Bibliothek funktionierte perfekt, als Gebrüll:

public void SendMail(string assunto, string email, string descricao, DateTime dataInicio, DateTime dataFim) 
     { 
      var iCal = new Calendar();   
      var iEvent = iCal.Create<CalendarEvent>(); 
      iEvent.Summary = assunto; 
      iEvent.Start = new CalDateTime(dataInicio); 
      iEvent.End = new CalDateTime(dataFim); 
      iEvent.Description = descricao; 
      iEvent.Status = EventStatus.Confirmed; 

      iCal.Events.Add(iEvent); 
      var serializer = new CalendarSerializer(); 
      var serializedCalendar = serializer.SerializeToString(iCal); 
      var bytesCalendar = Encoding.UTF8.GetBytes(serializedCalendar); 

      var message = new MimeMessage();   
      message.From.Add(new MailboxAddress("","[email protected]")); 
      message.To.Add(new MailboxAddress("", email)); 
      message.Subject = "assunto"; 

      var builder = new BodyBuilder();   
      builder.TextBody = @"Body text"; 
      builder.Attachments.Add("evento.ics", bytesCalendar, ContentType.Parse("text/calendar")); 
      message.Body = builder.ToMessageBody();   

      using (var client = new SmtpClient()) 
      { 
       client.Connect("smtp.gmail.com", 587); 
       client.Authenticate("email", "password"); 
       client.Send(message); 
       client.Disconnect(true); 
      } 
     } 
    } 
} 
Verwandte Themen