Giter VIP home page Giter VIP logo

outlook.el's Introduction

http://melpa.org/packages/outlook-badge.svg

This is a package for GNU/Emacs that let you send HTML emails from Emacs, and they will look exactly as they were sent from Microsoft Outlook with all fancy HTML formatting that Outlook does.

It works on Linux and does not use Outlook, so you no longer need a Windows box to be able to communicate with your co-workers who use Outlook.

Requirements

  • GNU/Emacs 25.3 compiled with libxml2 (other versions are not tested)
  • mu4e package (can be installed from your distribution package manager)

Description

The package provides functions to format a plain-text reply and insert it into HTML email with a proper “Outlook-style” quotation (i.e. whole email thread at the bottom).

outlook.el is meant to be used together with other email packages for Emacs, extending their functionality. As for now, only mu4e integration is supported out-of-box, but feel free to submit a PR with integration to other packages (gnus, wanderlust, notmuch, etc.)

Mu4e

To integrate outlook.el with mu4e package you have to (require 'outlook-mu4e) and invoke outlook-mu4e-message-finalize function during email reply composition.

It will replace message body with HTML code that you can send by C-c C-c. Note, that you can (and actually should) preview the message by calling outlook-mu4e-html-message-preview to view it in a web-browser.

This package is in beta quality, so make sure you PREVIEW the message before actually sending it, to avoid sending garbage to your co-workers!

Customization

outlook-organization-domain-regexp
Set this variable to check that recipients email addresses belong to your organization domain. Otherwise you will be asked for a confirmation before sending a mail.

This variable only works if message-mode is used for composing a message (this is true for mu4e, but may be different for other mail packages).

Example:

(setq outlook-organization-domain-regexp "fsf\\.org")
    

Features still in development (sorted by priority)

  • [X] support plain-text emails in Outlook style
  • [ ] calendar support, synchronization with Org-mode
  • [ ] compose initial email in HTML
  • [ ] send HTML-formatted reply using Org-mode HTML export

Bugs

  • [ ] handle HTML emails not in outlook format (e.g. sent from other HTML-capable MUA).
  • [ ] embedded images are lost for reply.

Screenshot

./doc/screenshot.png

ChangeLog

0.2

  • Added support for plain-text emails in Outlook style. outlook-mu4e-message-finalize will use either plain-text, or HTML style for reply quotation.
  • Added outlook-organization-domain-regexp to warn if email is going to be sent outside of your organization.
  • Bugfix around outlook--html-find-insert-pt.

0.1

Initial release. Only HTML emails are supported.

outlook.el's People

Contributors

asavonic avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar

outlook.el's Issues

Need to indicate that libxml2 support is required

Trying to use this with the emacs version distributed with Fedora 23 (yes I know it is getting old at this point) is a no go, due to the lack of libxml2 support. I am going to compile emacs on my machine to see if that fixes it.

C-h v system-configuration-options RET gives:
system-configuration-options is a variable defined in `C source code'. Its value is "--build=i686-redhat-linux-gnu --host=i686-redhat-linux-gnu --program-prefix= --disable-dependency-tracking --prefix=/usr --exec-prefix=/usr --bindir=/usr/bin --sbindir=/usr/sbin --sysconfdir=/etc --datadir=/usr/share --includedir=/usr/include --libdir=/usr/lib --libexecdir=/usr/libexec --localstatedir=/var --sharedstatedir=/var/lib --mandir=/usr/share/man --infodir=/usr/share/info --with-dbus --with-gif --with-jpeg --with-png --with-rsvg --with-tiff --with-xft --with-xpm --with-x-toolkit=gtk3 --with-gpm=no build_alias=i686-redhat-linux-gnu host_alias=i686-redhat-linux-gnu 'CFLAGS=-DMAIL_USE_LOCKF -O2 -g -pipe -Wall -Werror=format-security -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector-strong --param=ssp-buffer-size=4 -grecord-gcc-switches -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -m32 -march=i686 -mtune=atom -fasynchronous-unwind-tables' LDFLAGS=-Wl,-z,relro"

Also not a bug - Some ideas for sending HTML email.

Hi,

Cool project! At the moment am I right in assuming it allows you to reply to Outlook e-mails and retain the style/format of the Outlook email? Is it currently doing anything else?

I'm looking at something very similar - I work with people who use Outlook, and I want my mu4e generated emails to look more or less the same. Here's a few things I've found - some of this you may already know or have worked out!

I've found I can send HTML emails by following the advice here:
https://matt.hackinghistory.ca/2016/11/18/sending-html-mail-with-mu4e/
http://kitchingroup.cheme.cmu.edu/blog/2016/10/29/Sending-html-emails-from-org-mode-with-org-mime/

Specifically due to concerns over stability of using the org compose mode in mu4e, I merged Matt's changes into the latest mu4e in my fork here - this works well:
https://github.com/falloutphil/mu

Armed with this I can write my e-mail in org, and have them translate to HTML on the fly using htmlize-and-send:

(add-hook 'org-ctrl-c-ctrl-c-hook 'htmlize-and-send t) 

Crucially when I want to include (static) HTML as generated by Outlook, I simply include an Org file containing the HTML using mu4e's signature functions. The HTML can be taken by inspecting the contents of any e-mail sent from Outlook and pulling out the HTML components.

(setq mu4e-compose-signature-auto-include t                                                                                                                                                                                                             
      mu4e-compose-signature "#+INCLUDE: \"/path/to/message-settings.org\"")  

My message-settings are a set of Org drawers. Where Outlook HTML is included directly I just wrap it in

@html:
<html>
HTML FROM OUTLOOK EMAIL
</html>
@@

You can even include images in the signature using this method, which I needed to confirm to a company Outlook template. My emails are indistinguishable from those sent from Outlook - unless you look at headers, etc.

I also use the message-settings.org to include things like the below in the text body of the email:
https://github.com/fniessen/org-macros

This means you can add more colour, etc to your outgoing e-mails and the htmlize will pick-up the macros from the include and use them to generate the html e-mail.

Lastly for calendar integration, have a look at:
https://elpa.gnu.org/packages/excorporate.html

I hope to put my whole "MS Office <-> Emacs" setup on Github soon-ish (it does Outlook, Skype for Business and OneNote).

Phil

Drafting replies to very long message chains

In my use case, I am working with message chains in the dozens of replies, and I am wondering if you intend to quote the entirety of the previous messages by default, forcing the user to remove 90% of the old replies on every new reply. I looked in the mu4e source and found that it isn't configurable behavior.

In mu4e-draft.el, function mu4e~draft-reply-construct calls (mu4e~draft-cite-original origmsg) unconditionally.

99% of the time, I don't want to have 15 replies embedded in my response so I can narrow it to just what I am trying to reference. I'm fine with just the previous message, and hunting down the other content if I need it.

We can't push this up to be handled by mu4e, since it doesn't know what part of the HTML message is 'just the last message'. Is this a feature you also want? If not, I'll fork this repository and add it there.

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.