public static void SendCalendarByMail(CalendarRequest mailRequest) { var calendarEvents = mailRequest.CalendarEvents; MailMessage message = new MailMessage(); foreach (string item in mailRequest.To) { message.To.Add(item); } message.From = new MailAddress(mailRequest.FromEmail, mailRequest.FromName); message.Subject = mailRequest.Subject; message.Body = mailRequest.HtmlBody; message.IsBodyHtml = true; var serializedCalendar = generateCalendarFile(calendarEvents); MemoryStream ms = new MemoryStream(Encoding.UTF8.GetBytes(serializedCalendar)); System.Net.Mail.Attachment attachment = new System.Net.Mail.Attachment(ms, "event.ics", "text/calendar"); message.Attachments.Add(attachment); SmtpClient MailClient = new SmtpClient("smtp.gmail.com"); MailClient.EnableSsl = true; MailClient.Credentials = new NetworkCredential(mailRequest.NetworkCredentialUserName, mailRequest.NetworkCredentialPassword); MailClient.Send(message); }
public static void DownloadCalendarFile(HttpContext httpContext, CalendarRequest cRequest) { var calendarEvents = cRequest.CalendarEvents; var Response = httpContext.Response; var CalendarItemAsString = generateCalendarFile(calendarEvents); Response.ClearHeaders(); Response.Clear(); Response.Buffer = true; Response.ContentType = "text/calendar"; Response.AddHeader("content-length", CalendarItemAsString.Length.ToString()); Response.AddHeader("content-disposition", "attachment; filename=event.ics"); Response.Write(CalendarItemAsString); Response.Flush(); httpContext.ApplicationInstance.CompleteRequest(); }