We use in our project Aspose.Network library. I can't find any information about Aspose.Network on site Aspose.com at all now. Is Aspose.Network closed? Should we use Aspose.Email instead Aspose.Network ? Has Aspose.Email
the same classes as Aspose.Network? - We would not like to change many code in our project...
We use Aspose.Network for sending meeting invitation. We need to send meeting invitation in different time zones now. Is Aspose.Email support time zones for iCalendar?
We have separated the Email related functionality into a new product that is now available as Aspose.Email. Whereas the network related features remained in Aspose.Network. Aspose.Network was available as a free utility till the start of this month and will be discontinued from the following month (March).
If creating and sending meeting invitations is your core requirement then this feature is now available in Aspose.Email component. You may have to change the namespaces in order to compile your updated code. Please check the related Aspose.Email for .NET - Working with Meeting Requests technical article that explains how to create and send meeting requests via Exchange Server. By using Aspose.Email.iCalendar feature, you can specify the DateTime in three forms as listed below,
With Local Time
With UTC Time
With Local Time and Time Zone
For more detail on this topic please check this document section for your reference.
I rechecked and found that your required feature is not supported yet. Although we have this feature on our roadmap of Aspose.Email for .NET and planning to implement it in our future release. I have attached your request to the appropriate ticket from our tracking system. For your reference the ticket Id is NETWORKNET-11363.
Just to inform you that we are planning to provide this feature in our next major release of Aspose.Email for .NET v1.6.0. We haven’t scheduled this release yet. As soon as we schedule it, we will let you know here.
Please use the SetTimeZone method exposed by Appointment class to set the time zone as per your requirement. Below is sample code for your reference,
C#
Appointment appointment = new Appointment(“location”, “subject”, “description”,
System.DateTime.Now, System.DateTime.Now, new MailAddress("abc@domain.com"), new MailAddress("to@domain.com"));
appointment.SetTimeZone(“America/New_York”);
Please use the SetTimeZone method exposed by Appointment class to set the time zone as per your requirement. Below is sample code for your reference,
C#
Appointment appointment = new Appointment("location", "subject", "description",
System.DateTime.Now, System.DateTime.Now,
new MailAddress("abc@domain.com"), new MailAddress("to@domain.com"));
appointment.SetTimeZone("America/New_York");
Hmmm... I use classes TimeZone and TimeZoneInfo. What is string "America/New_York"? How can I receive string like "America/New_York" from TimeZoneInfo or from .Net FrameWork at all?
Please accept my apologies for the delayed response.
Currently, I am trying to find a way to use TimeZone and TimeZoneInfo classes in collaboration of newly exposed method SetTimeZone to set the time zone for Appointment request. I will keep you posted with updates on this. I would also request you to post your solution here if you have already figured that out.
Please refer to List of tz database time zones for the detailed list of time zone strings that you could set using the SetTimeZone method.
I use Microsoft.Exchange.WebServices.dll for sending meeting invitation via MS exchange 2007/2010. In Microsoft.Exchange.WebServices.dll is released practical way: appointment.StartTimeZone = timeZoneInfo;
I have logged a separate ticket (NETWORKNET-33227) to investigate if we could enhance the Appointment class to accept the time zone information from an instance of System.TimeZoneInfo. We will keep you posted with updates on this.
I try to use sending invitation. I create invitation in my application and set: StartDate = 04/06/2012 4:00 PM EndDate = 04/06/2012 4:30 PM TimeZone = "America/New_York"
I send this invitation to my gmail account and my outlook downloads it. Received meeting in outlook: When: Friday, April 06, 2012 5:00 PM-5:30 PM
My PC has time zone "(UTC-05:00) Eastern Time (US & Canada)". - It is time zone for New York.
Why did I receive invitation with incorrect time? How can I fix it?
I am afraid, I am unable to observe the recently posted issue on my end. I have used the source code as given below to create an appointment and send it to my Aspose account via Gmail Smtp. The start and end times are received as expected.
C#
MailMessage msg = new MailMessage();
msg.From = “admin@localhost”; //set the sender
//set the receiptant, who will receive the meeting request.
//basically, the receiptant is the same as meeting attendees
msg.To = "receiptant@aspose.com";
//create Appointment instance
Appointment app = new Appointment(
“Room 112”, //location
new DateTime(2012, 4, 4, 14, 00, 0), //start time
new DateTime(2012, 4, 4, 14, 30, 0), //end time
msg.From,//organizer
msg.To //attendee
);
app.Summary = “Release Meeting”;
app.Description = “Discuss the next release”;
app.SetTimeZone(“Asia/Karachi”);
//add appointment to the message
msg.AddAlternateView(app.RequestApointment());
using (var client = new Aspose.Email.Mail.SmtpClient(“smtp.gmail.com”, 587, "usernaame@gmail.com", “password”))
{
client.SecurityMode = SmtpSslSecurityMode.Implicit;
client.EnableSsl = true;
client.Send(msg);
}
To further investigate your said issue, could you please check that the start/end time is not being converted to Summer Time on your side. Please note, there is a difference of one hour between Standard Time and Summer Time in your zone.
Ref: List of tz database time zones - Wikipedia
I have 2 gmail accounts. For example gmail1 and gmail2. I have 2 PC: PC1 and PC2. Every PCs have time zone "(UTC-05:00) Eastern Time (US & Canada)".
On PC1: 1. I get your code, set app.SetTimeZone("America/New_York"); and send invitation from gmail1 to gmail2. 2. I tune up Outlook for using gmail1. I create appointment in Outlook with Start Time = "Wed 4/4/2012 2:00 PM" End Time = " Wed 4/4/2012 2:30 PM " and send invitation to gmail2.
So I sent 2 the same invitations to gmail2. The first invitation was sent from code (Aspose.Email). The second invitation was sent from Outlook.
On PC2: I tune up Outlook for using gmail2. I download emails and look at invitations. 1. The first invitaion ( from code, Aspose.Email) has times: Wednesday, April 04, 2012 3:00 PM-3:30 PM It is incorrect.
2. The second invitation (from Outlook) has times: Wednesday, April 04, 2012 2:00 PM-2:30 PM It is right. B/c I sent invitation from New York (
2:00 PM-2:30 PM
) to New York.
So I can't use Aspose.Email for sending invitations :( What did I wrong? Why is it happend and how can I fix it?
I am able to observe the issue with Start and End times when Time Zone is set to “America/New_York”. I have requested the development team to have a look into this matter and share their findings. The ticket Id for tracking purposes is NETWORKNET-33233.
With Aspose.Email for .NET v1.7.0 (download link shared by the aspose.notifier), we have introduced an overloaded version of Appointment.SetTimeZone method that can now accept the System.TimeZoneInfo.Id as argument. Please check the below source code for your reference,
C#
publicvoid Method(System.TimeZoneInfo timeZoneInfo)
{
Appointment appointment = new Appointment(location, subject,
appointmentdescription, appointmentStart,
appointmentEnd, from, to);
appointment.SetTimeZone(timeZoneInfo.Id);
AlternateView av = appointment.RequestApointment();
}
For more information, please also check the below link.