ביטול בקשות פגישה עם יומן
Contents
[
Hide
]
ניתן לשלוח בקשת ביטול פגישה עם Aspose.Email באמצעות אובייקט מחלקת Appointment. עליך להחזיק במידע של בקשת הפגישה המקורית כדי לבטל אותה. הדוגמה במאמר זה שולחת תחילה בקשת פגישה, שומרת את המידע במאגר נתונים ואז מבטלת את הבקשה בהתבסס על מזהה ההודעה.
שליחת בקשות פגישה
לפני שנוכל ביטול בקשות פגישה, עלינו לשלוח כמה:
- ראשית, צור מופע מסוג SmtpClient לצורך שליחת ההודעה.
- שמור את כל מידע המשתתפים באוסף MailAddressCollection.
- צור מופע של מחלקת MailMessage והגדר מאפיינים נדרשים כגון From, To ו‑Subject.
- צור מופע מסוג Appointment וספק מידע על המיקום, זמן ההתחלה, זמן הסיום, המארגנים והמשתתפים.
- שמור את כל המידע במאגר נתונים. עבודה הקשורה למאגר מתבצעת במתודה SaveIntoDB.
קטע הקוד הבא מראה כיצד לשלוח בקשות פגישה.
class Attendees {
public String MessageId;
public String EmailAddress;
public String DisplayName;
}
class Message {
public String MessageId;
public String From;
public String Subject;
public String Body;
public String AppLocation;
public Date AppStartDate;
public Date AppEndDate;
public String AppSummary;
public String AppDescription;
}
public void send(Attendees[] attendeesArr, String from, String appLocation, Date appStartDate, Date appEndDate) {
try {
// Create an instance of SMTPClient
SmtpClient client = new SmtpClient("MailServer", "Username", "Password");
// Get the attendees
MailAddressCollection attendees = new MailAddressCollection();
for (Attendees a : attendeesArr) {
attendees.addItem(new MailAddress(a.EmailAddress, a.DisplayName));
}
// Create an instance of MailMessage for sending the invitation
MailMessage msg = new MailMessage();
// Set from address, attendees
msg.setFrom(new MailAddress(from));
msg.setTo(attendees);
// Create am instance of Appointment
Appointment app = new Appointment(appLocation, appStartDate, appEndDate, new MailAddress(from), attendees);
app.setSummary("Monthly Meeting");
app.setDescription("Please confirm your availability.");
msg.addAlternateView(app.requestApointment());
// Save the info to the database
if (saveIntoDB(msg, app) == true) {
// Save the message and Send the message with the meeting request
msg.save(msg.getMessageId() + ".eml", SaveOptions.getDefaultEml());
client.send(msg);
System.out.println("message sent");
}
} catch (Exception ex) {
System.err.println(ex);
}
}
private boolean saveIntoDB(MailMessage msg, Appointment app) {
// Save Message and Appointment information
Message messageRow = new Message();
messageRow.MessageId = msg.getMessageId();
messageRow.From = msg.getFrom().getAddress();
messageRow.Subject = msg.getSubject();
messageRow.Body = msg.getBody();
messageRow.AppLocation = app.getLocation();
messageRow.AppStartDate = app.getStartDate();
messageRow.AppEndDate = app.getEndDate();
messageRow.AppSummary = app.getSummary();
messageRow.AppDescription = app.getDescription();
addToDB(messageRow);
// Save attendee information
for (MailAddress address : app.getAttendees()) {
Attendees attendeesRow = new Attendees();
attendeesRow.MessageId = msg.getMessageId();
attendeesRow.EmailAddress = address.getAddress();
attendeesRow.DisplayName = address.getDisplayName();
addToDB(attendeesRow);
}
return true;
}
ביטול בקשת פגישה
כדי לבטל בקשת פגישה, ראשית קבל את מזהה ההודעה של המייל. משום ששמרנו מידע זה במאגר לדוגמה זו, ניתן לקבל אותו בקלות שוב.
- בחירת ההודעה עבורה יישלח בקשת הביטול.
- הקלק על Send Cancel Request כדי לשלוח את הבקשה.
- מתשאל את המסד נתונים כדי לקבל מידע על משתתפים, הודעות ונתונים קשורים ליומן.
- צור מופעים של מחלקת Calendar ו‑MailMessage באמצעות המידע שהוצא מהמאגר.
- השתמש במתודה Appointment.cancelAppointment() כדי לשלוח בקשת ביטול.
- שלח את המייל באמצעות ה‑SMTP.
קטע הקוד הבא מראה כיצד לבטל את בקשת הפגישה.
public void cancel(String messageId) {
// Get the message and calendar information from the database get the attendee information
// Get the attendee information in reader
Attendees[] attendeesRows = getAttendeesFromDB(messageId);
// Create a MailAddressCollection from the attendees found in the database
MailAddressCollection attendees = new MailAddressCollection();
for (Attendees attendeesRow : attendeesRows) {
attendees.addItem(new MailAddress(attendeesRow.EmailAddress, attendeesRow.DisplayName));
}
// Get message and calendar information
Message messageRow = getMessageFromDB(messageId);
// Create the Calendar object from the database information
Appointment app = new Appointment(messageRow.AppLocation, messageRow.AppSummary, messageRow.AppDescription, messageRow.AppStartDate, messageRow.AppEndDate,
new MailAddress(messageRow.From), attendees);
// Create message and Set from and to addresses and Add the cancel meeting request
MailMessage msg = new MailMessage();
msg.setFrom(new MailAddress(messageRow.From));
msg.setTo(attendees);
msg.setSubject("Cencel meeting");
msg.addAlternateView(app.cancelAppointment());
SmtpClient smtp = new SmtpClient("smtp.gmail.com", 587, "user@gmail.com", "password");
smtp.send(msg);
System.out.println("cancellation request successfull");
}