Coder Social home page Coder Social logo

asiegle / winmail-helper Goto Github PK

View Code? Open in Web Editor NEW
1.0 1.0 0.0 197 KB

Chrome Extension for Gmail to show "winmail.dat" files automatically

License: GNU Lesser General Public License v3.0

JavaScript 12.78% Python 87.22%
tnef winmail chrome-extension

winmail-helper's Introduction

winmail-helper

https://chrome.google.com/webstore/detail/winmail-helper/elklemakijgjpgldjcebdmmlbpanlfjb?hl

Installation

Proceed to the link above and install. This version is VERY experimental, so no promises about funcionality or bugs.

To add the chrome extension to your browser, download the "wmh.crx" file.

Then, in Chrome, navigate to "chrome://extensions/" and then drag the file into the window. When prompted, click to allow the extension.

You'll be prompted by Gmail to give authorization: sign in to the Gmail account you wish to use the extension for.

After that, you should be all set! Open up your inbox and navigate to any email that has a winmail.dat attachment. You should see the body of the email update to the correct formating in a few seconds.

Inspiration

If you've ever opened an email from a university faculty member in a email client like Gmail, you probably noticed a weird "winmail.dat" file attached below. This file is generated when an email is sent from a Microsoft Outlook/Exchange account to a non-outlook recipient, and is encoded in Microsoft's "TNEF" format which isn't normally readable.

When an email is sent to a non-outlook recipient, most formatting data is stripped away and encoded in this file. In the best case, some simple styling and font information might be lost. In the worst case, entire things like tables might be lost, making the email possibly unreadable.

What it does

Our chrome extension will run in the background when you are accessing your Gmail inbox. It checks the email you are currently looking at, and if it detects a TNEF encoded attachment it extracts the relevant formatting information from the file and automatically displays it as the message body.

How we built it

Our chrome extension is built using HTML and JavaScript. We used the Gmail API to be able to read users emails/attachments, so the user has to grant authorization when using the extension. Using JavaScript, we parse the userID and messageID from the HTML of the email they are looking at, and use that with the API to get the emails attachment.

Once we have the attachment, we send the attachment to our Google Cloud server, which is running a web server using Python and Flask. Here, we used the open source Python library tnefparse to extract the HTML data from the attachment. That HTML is then sent back to the extension, where it is then added to the web page to give a seamless viewing experience.

winmail-helper's People

Contributors

asiegle avatar maxkimmelman avatar

Stargazers

 avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.