Creating ICS files that work in multiple mail readers - outlook

I am working on a project where we send appointment invites to various users. It has all the normal bells and whistles that most calendar apps have. Our user base is mostly Outlook users, but we do have some who use Gmail and Yahoo and others. Most of what we have works, but there are a few nuances that don't work or only work for certain mail readers. Among the issues we have are:
All day events not displaying correctly (It blocks out the whole day instead of having a notice at the top of the day)
Meeting cancellations not being honored (the original meeting shows up on the calendar, but the cancellation request is not recognized by the mail reader. For example, if I create an event and send it to both a Hotmail and Gmail user, that event is recognized by both. If I send a cancelation for that event to both Hotmail and Gmail, Hotmail will properly remove the event but Gmail says the cancelation email is in an unrecognizable format).
All day events in different timezones span multiple days (due to what I assume is a timezone adjustment)
I'm able to fix every one of these (and other issues) for myself. But, when I try to fix them all, I break something somewhere else. Also, what I fix for myself might not work for another user who has the same email reader.
I have gone online and tried to find a guide for creating ICS files. Most places say to create a calendar event in one of the main mail readers, and then look at the ICS file it generates. I've done that and have been able to get partial success, but once again, not all fixes work for everyone.
I'm assuming the individual mail settings for each user to at least be part of the problem.
I am going in circles at this point. I have an idea on how a lot of the fields in the ICS file work and what they do. But there are some I don't understand, and I'm not sure if different mail readers intepret them differently.
I have checked here and other sites for some insights on how to fix these issues, but I must say, I get a lot of conflicting information.
I've sent calendar invites from both my personal Hotmail and Gmail accounts. Everything I send from those mail readers work perfectly fine. When I try to incorporate the ICS files generated into my project, I get some issues. That leads me to believe that 1) I can find a solution that works for the major mail readers and 2) That I have a lack of understanding on some fields in the ICS file and must make a change (though I don't know what that change is).
So I'm not asking for a specific fix (although I can post what I have and try to tweak from there.). What I really need is a good guide that gives some insight into how and what these fields do. I've looked at the RFC for ICS files...that's 170 pages, and tells about specific fields, but not about the process in general.
One other thing, I have seen ICS and iCalendar used rather interchangeably. Is there an important distinction?

Related

Is there a way to open up a known Outlook email through Java 11? (Web or Local)

Short Version:
I want to open any specific Outlook email from my Java app, either locally through the Outlook app or through the website on a browser. I already have the email information like folder, message ID, UID, sender, receiver, etc but not the email ID used in the URL of the Outlook website. Does anyone know of a way to do either of these things through Java?
Long Version:
I'm creating a software for my company in Java that has a built-in email client for Outlook emails so the emails can be linked with jobs in various ways. So far I've been able to make good progress with the email client section in terms of displaying a list of emails and being able to display a chosen email, but recently I've realized creating a GUI for an email editor (keeping track of reply chains, dragging in images for inline attachments, etc) is quite the gargantuan task to do on my own(JavaFX's HTML Editor could use a lot of work).
My band-aid solution for now is to have my program open the chosen email up through either:
Some (Windows 10) system command by calling the Outlook desktop application to show the email by some sort of ID (maybe UID?). I know on some level that this is possible because our company has an old program written in C# that can indeed do that.
Opening up the system's default browser with a link to "https://outlook.office365.com/mail/folder_name/id/insert_id_here". This is my preferred solution.
Here are my problems with each option so far:
There doesn't seem to be any resource I could find that provides an answer to this. The closest I can find are threads that explain how to open the default mail application with options to pre-populate to/from/subject/body sections (not to mention you can't pre-populate the body with anything besides text! So much for reply/forward messages with HTML formatting and attachments!). Another problem is that the old program I mentioned displays emails by finding the Outlook application's files (presumably the local OST file). I have no idea how the old program's able to call Outlook to show emails and even then, there's a chance that there's no Java equivalent. I, however, am using JavaMail to load up my mail, as I think it's better to talk to the Outlook mail server to fetch/push mail updates rather than wait for the Outlook app to sync up. This creates a problem because even if I knew how to call Outlook, my application may be more up to date than the Outlook app (especially if Outlook is not already open) and if call before Outlook updates, Outlook wouldn't be able to show it.
Again, I can't seem to find a resource for explaining these URL IDs. They're not the same as the mail's UIDs, and they don't seem to be anywhere in the mail's contents when grabbing mail through JavaMail. The most I was able to get from research was that they were called "long IDs", as they were just long strings (seemingly non-sequential) but that might've just been a made-up name from the article as I've found no other references to it. There's a chance that they could be some sort of encoded UID but I didn't see any note of JavaMail having to decrypt to get UIDs in the documentation. I doubt I'd be able to make any more progress with this option, but if there's a solution similar to this (perhaps some sort of script that opens up Outlook online, searches by some identifier, like body contents, and pulls up the first result? Idk much about browser scripts) I'd be happy to hear it.

Change "to:" address in Outlook after clicking send

Here's the situation:
I receive emails from a colleague that, as a consultant, has multiple email accounts. He's not always careful which one he uses. However, replies back to him have to go to a specific email account regardless how it was sent. There are almost always others that need to be copied on the "reply all". Since it's impractical to reliably review every email reply, and there are several of us in the this situation, I'm looking to hack my way around this.
It looks like I can create a rule in Outlook that, maybe, adds his preferred email as a CC address but then it means the email reply goes to 2 places. My preference is that it only goes to one place.
Bonus question: Is there any way to make this work when replying from my iPhone? That is, is there a server-wide approach?
Double-bonus: My coding days are a distant memory, but I was able to hack together a VBA script for something else a couple of years ago. Anything to point me in the right direction would be great.
Thanks.
You can set the reply-to address in his outlook profile. It should follow him around to other clients.

Exchange - Removing word "EXTERNAL" from Subject line when replying to an external email

We have Exchange server 2013. I am testing a security method to warn users when external emails are received. This is I am doing by putting "EXTERNAL" text in front of subject-line of incoming emails except if the email-subject already has the text. This is working fine.
Now, what I am trying to do is to remove the text "EXTERNAL" when user will reply to the email. I am having a hard time getting a way to achieve it. Exchange rules, so far I have looked into, does not have anything to remove from subject-line, only to prepend.
How can I do it? My goal is to flag incoming external emails and show it users Outlook client in a way so users would see. I want to use Exchange server built-in functionalities, or from Outlook if the settings can be managed by group-policy and users wont be able to change it.
Thanks and appreciate your help.
I do not know the answer but my search for a way to strip "[External]" and "[EXT]" from the subject line of all incoming emails is what brought me here. It seems IT in so many companies has decided this is a great idea and I just want to share my thoughts that it is a HORRIBLE idea and I wish everyone would stop doing it. You can no longer group all emails by subject line and bring everything together, which is seriously inefficient. There HAS to be a better way to teach your employees to not click on spam/scam links than messing with the existing subject lines. This may be my pet peeve of the century.

TNEF capable e-mail clients

We have written an Outlook Add-in and it appears that when you add user properties to a MailObject while the user is composing it, and you then encrypt and sign it and the message is Sent, the message will end up getting sent as TNEF, despite imploring outlook to do otherwise through various settings and so on as described here: http://www.slipstick.com/problems/outlook-is-sending-winmail-dat-attachments/
So one of our clients has a contact who insists on encrypted communication and therefore our client now has an issue with this contact. Either they cannot use our Add-in to its full potential (having to avoid the functionality that adds those User Properties), or their contact complains about receiving mail with "winmail.dat" attachments.
I have since established a communication with our client's contact, and I am trying to establish what e-mail client they are using, and one thing I'm going to try is see whether they would be open to the idea of moving to another e-mail client that is TNEF capable, even if it's not Outlook. But my Google-Fu is failing me. I've googled "TNEF capable email clients" and many variations thereof "that can use" "able to" ... etc etc etc. Nothing gives me the result I am looking for, a simple list of non-outlook email clients that have native capability for handling TNEF e-mails they receive. Plenty of articles of tools to allow users to decode the winmail.dat attachments manually, sure, but no simple list of natively capable e-mail clients.
If anybody can help me with this one, it would be greatly appreciated.
Eudora used to support TNEF. Otherwise Outlook is the only one to the best of my knowledge.

MailChimp: Bulk re-send opt-in mailout to all subscribers

A client of mine is planning to move from a WordPress newsletter plugin to MailChimp.
As a result we'd be importing all the subscribers from the old system into MailChimp. However we have a feeling that a lot of those subscribers are either fake, dead emails, or not interested any more.
I was wondering whether there is any way to bulk resend an opt-in, so that all subscribers get a mail asking them to click a link to continue their subscription?
I didn't notice anything obvious when selecting all subscribers in a list on MailChimp
At present, it doesn't seem as if there's any way to batch resend confirmation emails. To accomplish what you're after, you can use other mailchimp tools and external methods to clean your list up.
One way would be to contact your users and have them reconfirm. An example from a mailchimp knowledge base article:
"Hi |FNAME|,
Remember us? You visited our website back on |OPTIN_DATE| and signed up for our email newsletter. Well, we’ve finally gotten around to setting up a nifty email newsletter program, and we want to make sure you still want to hear from us. We hope you do, because every month or so our newsletter will include useful how-tos, tips, and advice (plus special offers like the one below).
If you want to stay on our list, click here to renew your subscription! Of course, we don’t want to clog up your inbox with stuff you don’t want. If you're not interested, you can ignore this and you’ll never hear from us again…"
You can also remove people who haven't clicked on the last N campaigns, remove low-rating users, or use another way to remove people who aren't engaging.
Some helpful links:
http://kb.mailchimp.com/article/how-can-i-remove-someone-from-my-list-who-has-never-opened-a-campaign/
http://kb.mailchimp.com/article/how-can-i-remove-someone-from-my-list-who-has-never-opened-a-campaign/#open
http://kb.mailchimp.com/article/how-can-i-remove-someone-from-my-list-who-has-never-opened-a-campaign/#rating

Resources