Coder Social home page Coder Social logo

michaelsanford / walled-garden-for-outlook Goto Github PK

View Code? Open in Web Editor NEW
4.0 3.0 0.0 27 KB

A compliance Add-in for Microsoft Outlook to analyse sender lists for recipients outside your organization.

License: MIT License

C# 100.00%
outlook-addin vsto csharp

walled-garden-for-outlook's Introduction

Walled-Garden Add-in for Outlook

A compliance Add-in for Microsoft Outlook to analyse sender lists for recipients outside your organization.

How it Works

The Add-In will extract the sender's (From: ) organization domain to match it against all recipients.

When the email is Sent, all Recipients - in To: , CC: and BCC: - will be matched against the sender's domain.

Any recipient whose domain does not match the sender's will trigger a popup, listing each "outsider" recipient and confirming if the messgae should be send anyway.

Answering No will return to the compose window.

Answering Yes will release the message.

Installing

  1. Go to Releases and choose the Latest.
  2. Download the Zip and validate the checksum.
  3. Run setup.exe
  4. Restart Outlook to load the Add-in

Troublehooting

  1. Open Outlook
  2. Ensure there is no yellow warning under Slow and Disabled COM Add-ins. You can re-enable it there.
  3. Navigate to File > Options (bottom-left, above Exit) > Add-ins
  4. Ensure "Walled Garden for Outlook" is installed and not disabled.

ℹī¸ If Outlook has disabled this add-in on your system because it was flagged as being slow to start, please file a bug.

Uninstalling

From Windows

  1. Press Start
  2. Type "Add or remove programs"
  3. Search for "Walled Garden for Outlook"
  4. Choose it and select Uninstall.

Forcing Removal in Outlook

If you have installed this Add-in using a Release package (ran a setup.exe) use the above method instead.

  1. Open Outlook
  2. Navigate to File > Options (bottom-left, above Exit) > Add-ins
  3. Choose Manage: COM Add-ins and click Go.
  4. Choose "Walled Garden for Outlook" and click Remove.
  5. Restart Outlook.

Contributing

I welcome contributions and bug reports; please file an issue.

Attributions

Add-in icon courtesy bitfreak86

walled-garden-for-outlook's People

Contributors

michaelsanford avatar

Stargazers

 avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar

walled-garden-for-outlook's Issues

Flagged as Slow Add-in at load

The add-in causes a delay when loading Outlook and must be added to the Always Enabled list to prevent Outlook disabling it automatically.

image

Look at compile options, best practices around instantiating the plugin.

Community feedback on fixing this (including a PR) is welcome!

Project Scaffold & MVP Feature Set

MVP Feature Set

Initial Behaviour

The intent is to prevent the send from mistakenly sending emails to parties outside the intended organization.

The compliance case this add-in is intended to solve always amounts to having a recipient list with heterogeneous domains: mixing sender domain with a clients or free email service, or sending to more than one client domain.

Requirements

  1. Installable VSTO Add-in scaffold - (useful doc / perhaps-outdated quickstart)
  2. Hook into some useful event: add recipient, intent to send, other candidates?
  3. React: display warning banner / popup.

Add tests

Simple tests

  • Does it trigger on outside domains?
  • Does it not trigger on internal domains?
  • Test for case from #6 ?

Ignore AAD destination addresses in recipient check

When sending a Reply to an existing message, organization-internal addresses are pre-resolved to their AD/AAD form, which do not even contain an @ and look like this

/O=EXCHANGELABS/OU=EXCHANGE SOMETHING GROUP (XXXXXXXXXXXXXXXX)/CN=RECIPIENTS/CN=XXXXXXXXXXXXXXXXXXXXXXXXXXX-YYYYYYY

Those should simply be ignored since it is impossible (I hope) to resolve external recipients in this way.

Build and Release via CI/CD

Extremely desirable to provide traceability that the artifact available on Releases provably came from this repository.

Rules Configuration

The MVP rules engine will be extremely simple, allowing only the following:

  1. Global Enable/Disable
  2. Always-allow To list (or pattern)
  3. Always-allow Cc list (or pattern)

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.