accept outlook invitation (.ics attachment) without MS software - outlook

My problem: one of our customers wants us to accept their appointments by using icalendar .ics MS outlook generated attachments. We need to reply with another .ics attachment, so that his (ms exchange?) system records our acceptance. We have no MS software in the company, do not use Google or Yahoo calenders, and this is needed rarely, once a month or so.
Ideally, I would prefer a web based service where I can paste their .ics formula (starting with VCALENDER...) and generate a reply which I will send as an attachment from mutt. Another possibility is a command line script which I can apply from within mutt directly.

you would need to send the answer according to the RFC 6047 (here for the full length)
to give you an idea of what the RFC states, see below:
MIME Message Format Binding
This section defines the message binding to the MIME electronic mail
transport.
The sections below refer to the "originator" and the "recipient" of
an iMIP message. In the case of a "request" method, the originator
is the "Organizer" and the recipient is an "Attendee" of the event.
In the case of a "response" method, the originator is an "Attendee"
and the recipient is the "Organizer" of the event.
The [RFC5322] "Reply-To" header field typically contains the email
address of the originator of the scheduling message. However, this
cannot be guaranteed because the sender of the iMIP message might not
be the originator of the scheduling message and the sender's "Mail
User Agent" (MUA) might not enforce iMIP semantics by translating the
originator's address into the "Reply-To" email header field.

Related

Logic Apps Email Trigger - Get original Alias

Found a very similar question here: Email aliases not returned as "To" address in logic app
TLDR: From within a logic app "When a new email arrives" trigger, How do I get the original alias that the email was sent to?
I have a logic app that creates a ticket based off an email sent to an outlook box. Now I want to be able to choose aspects of the ticket based off of whether or not the email was sent to the mailbox itself or an alias of the mailbox. The problem I'm having is that by the time logic apps gets a hold of the email, the alias address has already been replaced with the actual box's address ("alias1#place.com" -> "actualbox#place.com").
The actual mail in the inbox has the original email's alias information in the headers, but I can only get them by looking at the properties in outlook. I've tried to get the original "To" internetheader information both within logic apps (by exporting the email to blob storage and looking at headers there) and with the Microsoft Graph API. Sadly, the email exported by logic apps doesn't have the alias information and Graph API has pretty much every header but "To". At least one other person has lamented the lack of To
That said, the actual email still has the original alias information. Can someone help me get that information in logic apps without jumping through too many hoops? A many hoop solution is welcome if none other can be found though.
Use the Export email (V2) action from the Office 365 Outlook connector. This will give you the full message with original headers (including the actual To address)!
The flow here is, trigger on the incoming email, as you already are, then add the export email action providing the message id from that trigger to pull this specific email.
From there, you you'll have one big "body" property which you'll need to interrogate to find the To address.
Caveat on this though, it doesn't work when emails are sent between mailboxes in the same Office 365 tenant. Exchange Online will "helpfully" go, "I know that address... this is the address you wanted!"
What API are you using? In Outlook Object Model / MAPI / EWS, you need to retrieve the PR_TRANSPORT_MESSAGE_HEADERS MAPI property (DASL name http://schemas.microsoft.com/mapi/proptag/0x007D001F)
We arrived at a many hoop solution.
The "Primary" email box now has some rules that look at the internet headers mentioned above (Message -> Properties -> look for 'To:').
If it finds an alias there, it will put the email in a corresponding folder for each alias.
Then we have logic apps listening to each of the alias folders which will then send the email's information to the _Core logic app that does the actual processing.

Outlook calendar replaces plus sign in meeting organizer email address with spaces

I receive calendar invite to my outlook desktop client from one of the applications I use and the organizer email in the meeting invite was "scheduling-assistant+A6B890782A404B77#XXXXXX.com" (Masking the domain with X). When I tried to accept the meeting invite, I received the following exception
Delivery has failed to these recipients or groups:
Scheduling Assistant
The format of the email address isn't correct. A correct address looks like this: someone#example.com. Please check the recipient's email address and try to resend the message.
More information:
scheduling-assistant A6B890782A404B77#XXXXXX.com
Remote Server returned '550 5.1.3 STOREDRV.Submit; invalid recipient address'
ORGANIZER PROPERTY IN ICS FILE
ORGANIZER;CN=Calendar
Services:mailto:scheduling-assistant+A6B890782A404B77#XXXXXX.com
If we take a look at the email address in the delivery failed mail, plus sign was removed.
I have also recently started facing this issue. I think outlook must have made some changes to how it reads the .ics file.
You need to HTTP encode the organizer's email adderss.
I use python (django), and I used django.utils.http.urlquote to encode the email address:
organizer = vCalAddress(u"mailto:{}".format(urlquote("scheduling-assistant+A6B890782A404B77#XXXXXX.com"))) #<-- This is the only difference. I have encoded the email address.
This fixed the problem for me. I have tested this in Outlook and Google calendar.
Here is my original answer.

Display sender name as set in message header, instead of full name from address book

I came across this as the only other thing I could find that resembled what I'm asking: http://office-outlook.com/outlook-forum/index.php/t/84123/
I'm sending an email through Office 365's SMTP server as a notification that a form was submitted to my company email address (me#company.com) from our company RSVP email address (rsvp#company.com). I am setting the From Name to be the full name of the person filling out the form and the reply-to email as the person's email address textbox.
Here is an example of what part of the message header might look like:
To: <me#company.com>
From: Test User <rsvp#company.com>
Reply-To: <test.user#gmail.com>
In Outlook, since rsvp#company.com is an actual mailbox within our company, it automatically displays the sender name as "RSVP" (which I suppose is what was set when the mailbox was created). Is there a way to bypass this and display the sender name in the message header instead?
No. Exchange always resolves all sender and recipient names to their primary SMTP address and default name. Just the way Exchange works.
You can extract MIME headers and modify the message sender related properties on the client side after the message is received using Extended MAPI (C++ or Delphi) or Redemption (I am its author - use RDOSession.CreateOneOffEntryID / RDOSession.GetAddressEntryFromID / set RDOMail.Sender and RDOMail.Get_SentOnBehalfOf / RDOMail.Save). Note that OOM will not let you set the sender related properties even using MailItem.PropertyAccessor.

Create text/calendar type email that triggers accept/reject/ignore options

I can programmatically create an email with an .ics file attached. The email gets sent, the recipient clicks the .ics attachment to add it to their calendar. This is easily done.
I want to try and make Outlook behave a little different. When the user previews the message it detects that its calendar type and throws a prompt asking the user to take some action. This action decides if it gets pushed into the calendar. In a perfect world to have accept/reject/ignore options would be super sweet. Is it possible to construct/send and email in such a way that Outlook can treat it different from a standard email? E.G perhaps altering the type (CONTENT-TYPE:text/calendar)?
Note - I have seen a solution where the body contains a link to the .ics file informing the user about the calendar invite details. It then has a click here to Accept. This is nice because the .ics file does not have to be attached.
I am workign in VBScript/VBS world although Im not sure this is all that important. Has anybody done this is any sense. Is it even possible?
edited:
I ended up using the EASendMail component located here it has an autoCalendar property which works really well. It embeds the .ics file as a text/calendar and send the message as a text/calendar. The outcome is perfect, just like it was actually sent from the outlook. It previews with with the action buttons and even loads the meeting in Outlook at tentative waiting for action
Your email needs to follow a proper MIME structure for it to be recognized as an invitation. See Multipart email with text and calendar: Outlook doesn't recognize ics

Send me SMS when I get an email on my server

I have postfix and dovecot running on a server. When a certain kind of email comes in for accounts on the domain, I'd like an SMS to go out. I already set this up for one user using Postfix's BCC mapping and the "SMS email addresses" provided by the tel co.
However, here in the post-Snowden world, with heightened awareness of how easy SMS apparently is to hack, and with potential issues with long emails being sent via SMS, we want the SMS to just say "you got an email" or something like that. We don't want to BCC the entire email message via the SMS system. That's what email is for; we just want the SMS to be an alert, like the way pagers were used in the old days. I suspect there should be a way to do this but it might take me days to learn enough about procmail or script piping and postfix gateways to figure it out.
I would be surprised if I was the first person in the world to want to send an SMS alert on email events?
So the BCC is apparently not a problem. The email-to-SMS is apparently not a problem. The problem is how to modify the body of the BCC'd email, or otherwise how to send a simple SMS alert (or simple email alert) upon certain email events (specifically, when email is received for certain recipients on the server via postfix).
Thanks!
You may use dovecot's sieve with enotify or vnd.dovecot.execute.
Simple enotify can deliver exactly what you have asked for. Dovecot specific vnd.dovecot.execute can be used to implement extra protections to avoid turning mail bombing into SMS bombing.
Example from RFC5435:
require ["enotify"];
if header :contains "from" "boss#example.org" {
notify :importance "1"
:message "This is probably very important"
"mailto:alm#example.com";
}

Resources