2017-11-06 20 views
-1

ライブラリiCal.NETを使用して予定をユーザーの電子メールに送信する方法について、多くのチュートリアルが続きましたが、aspnetコアでは機能しないようです。 erro:名前空間 "イベント"が見つかりませんでした。iCal.NET .NETコア - 名前空間 'Event'が見つかりませんでした

私は怒鳴るようにGoogleカレンダーに予定を送信する方法を書き込もうとしました:エラーで

// 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); 

ルック:ここhttp://prntscr.com/h6vvcv

図書館:https://github.com/rianjs/ical.net

をする別の方法があります。簡単な電子メールを送信して、ユーザーに自分のGoogleカレンダーに予定を追加するよう薦めますか?

答えて

0

最後に、私の問題の解決策を見つけました.Net COREのiCall.Netライブラリを使用しました。私が言ったように、私は図書館のデモのチュートリアルに従いましたが、イベントオブジェクトが見つかりませんでした。

私は他の方法でEventオブジェクトを書き、ライブラリは怒鳴るよう、完璧に働いていた:

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); 
      } 
     } 
    } 
} 
関連する問題