Yasoon - Modify existing email, replace file with http(s) share link - outlook

Can the Yasoon Outlook development system modify existing emails, so that I could replace all attachments with links to the file from our internal cloud storage environment?
Or does anyone know of an app that will let me do this? I have seen the ones for Box/Dropbox/etc, but we are using FileCloud, and they have a very rich API in addition to the storage being hosted internally.
What the company would like to do is the following:
Select attachments by criteria
Upload the attachment(s) to FileCloud (FileCloud API)
Set the file as shared, with the mailfile owner being the only
authorized user (FileCloud API)
Replace the file in the email with the new share URL from FileCloud
And continue on until all selected attachments have
been processed in the mail file.

Tobi from Yasoon here, sorry for not getting back earlier.
Our tool is probably overblown for this use case though it's possible (https://github.com/yasoonOfficial/com.yasoon.attachment.export)
But you should probably look into the new Outlook API: https://dev.outlook.com/MailAppsGettingStarted/GetStarted

Related

Monitor sender's attachment (names only) with Gmail API or Mail Audit API (or with other APIs)?

I'm trying to create an app to monitor employee's file attachments using Google's APIs.
I know that I could download all the emails from the audited user list using Mail Audit API and run scripts on the mails but would there be a better way to get sender's email address with attached file names?
Unfortunately, the only options available are the ones you have already suggested.
However, what you can do is to file a feature request on Google's Issue Tracker here and provide all the necessary details about your use-case and what is it that you want to achieve.

Send file via Teams (like MAPISendMail)

My (editor-like) Windows desktop program can create a new e-mail with the current project attached using MAPISendMail. A customer wants the same functionality for Microsoft Teams.
For the web version, I think I can probably do that with Graph API.
But I can't find anything for the desktop app version. Is there a way to do that?
Bonus:
It would be great if the user could manually specify recipient + body text in Teams (and not in my program).
So you can't actually attach files to messages directly - you basically upload the file to a web location, and then provide a link to the file in the message. As an example, you can upload to the SharePoint document library that exists in the "Files" tab (something like this). Then, in terms of sending the message, you can send to a Team/Channel quite easily using a Webhook. This does not support #mentions the moment though. Another option is to use Graph to send the message.
If you're wanting instead to send a kind of 'private' message to the user, you'd need to look into creating a bot, and sending a 'Proactive' message

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.

Check file size on outlook email attachments in azure logic app

I have built a logic app to monitor an outlook 365 email inbox. Part of the app is to save any attachments sent with emails that meet my criteria to blob storage and then my own database. The images/footers in emails are also being sent as attachments, so I'd like to filter the attachments on size. I have so far tried using a dynamic expression to check the length of the attachment but this hasn't worked, I also looked into using Get File Metadata actions but all of these require a filepath or an ID for the file in whatever hosting service provides the actions. My file is simply sitting in logic app memory at this stage. Any ideas?
I have fixed this in a roundabout way - I save all attachments to blob storage. Then I use azure blob storage - get metadata from file to check the size - i have a condition off the back of this: if the size is less than my minimum size i delete it from blob storage, otherwise I add it to my database.
TIP: when deleting from blob storage always use the filepath. Got multiple false flag errors as I was trying to delete based off the file name.
Steps: Below is a screenshot of my steps to do this - if there is a better way please let me know.
Logic app steps

Xcode 4.5 -iOS- Read email/update text field inside app

Is it possible to read the content of lets say the last email in a specific email inbox? I´m developing an app for a company and I would like for anyone to be able to send an email to a specific address, and then the content of that email would be visible in a text field inside the app. But for that to work the app will have to be able to have access to a specific email. I bet there are other ways of updating a textfield inside an app but this would make it so easy for everyone to be able to update this news feed.
Thanks!
Third-party apps have no access to the system Mail app’s database. If you want to access the contents of an email, you’ll need to connect to that server and retrieve its mail yourself.

Resources