Skip to content

Instantly share code, notes, and snippets.

View WarningImHack3r's full-sized avatar
🐙
Tech octopus

Antoine Lethimonnier WarningImHack3r

🐙
Tech octopus
View GitHub Profile
@WarningImHack3r
WarningImHack3r / doc.md
Last active July 10, 2025 15:27
Properly reading a message body with a Transport Agent in a Microsoft Exchange plugin

Properly reading a message body with a Transport Agent in an Exchange plugin

While it doesn't look that complicated in the first place, properly reading an Microsoft.Exchange.Data.Transport.Email.EmailMessage Body isn't that straightforward: some characters like tabulations (\t) can easily be missing.

Initial approach

My original approach was the following:

public static string GetStringBody(this IEmailBody body)
@WarningImHack3r
WarningImHack3r / doc.md
Created March 20, 2025 20:58
Installing and working with a Transport Agent in a Microsoft Exchange plugin (2013-2019)

Installing and working with a Transport Agent in an Exchange plugin

While it might seem quite trivial from the Microsoft documentation, installing and working with transport agents (SmtpReceiveAgent, RoutingAgent, and DeliveryAgent) is full of footguns.
Here is a little post-mortem after playing around with an SmtpReceiveAgent with an Exchange Server 2019 (with countless days of debugging and borderline madness) to hopefully get you there in less than a month.

Installation

The gist (no pun intended) of the installation process can be found here, and is quite well documented. Other useful links to understand how agents are structured are this one (or any of its variants depending of which agent you want to create) and [this one](https://learn.microsoft.com/en-us/exc

@WarningImHack3r
WarningImHack3r / ScreenSize.svelte
Last active February 8, 2025 21:54
ScreenSize Tailwind component for Svelte
<script>
// Made by https://github.com/WarningImHack3r
// Inspired by https://gist.github.com/Sh4yy/0300299ae60af4910bcb341703946330
let width = 0;
let height = 0;
</script>
<svelte:window bind:innerWidth={width} bind:innerHeight={height} />
<div
@WarningImHack3r
WarningImHack3r / OS_arch.md
Last active November 27, 2025 18:19
Offline installation of local language models of IntelliJ 2024.1+

Available OS: windows, linux (probably darwin for macOS, not tested though)
Available arch: x86_64 (others not tested)

Note: You can try to mix and match values from both lists above, there is no guarantee of success though, even though it should very likely work.