diff --git a/horizon.dhall b/horizon.dhall
index f3b30a98f25d70a4f2ed3fe7c4ec5dcaf4cdfb08..221db069e8e76a525768e462956e4385f98b120c 100644
--- a/horizon.dhall
+++ b/horizon.dhall
@@ -79,6 +79,7 @@ let packages =
       , Decimal = H.callHackage "Decimal" "0.5.2"
       , Diff = H.callHackage "Diff" "0.4.1"
       , Glob = H.callHackage "Glob" "0.10.2"
+      , HaskellNet = H.callHackage "HaskellNet" "0.6.0.2"
       , HTF = H.callHackage "HTF" "0.15.0.0"
       , HTTP = H.callHackage "HTTP" "4000.4.1"
       , HUnit = H.callHackage "HUnit" "1.6.2.0"
@@ -721,6 +722,7 @@ let packages =
       , microlens = H.callHackage "microlens" "0.4.13.0"
       , microspec = H.callHackage "microspec" "0.2.1.3"
       , microstache = H.callHackage "microstache" "1.0.2.2"
+      , mime-mail = H.callHackage "mime-mail" "0.5.1"
       , mime-types = H.callHackage "mime-types" "0.1.1.0"
       , mmap = H.callHackage "mmap" "0.5.9"
       , mmorph = H.callHackage "mmorph" "1.2.0"
diff --git a/initial-packages.nix b/initial-packages.nix
index 3cd76043560a2dfbdb1c9112b94b7b2e63ac4487..a0e67542d95aa42eb3d5726386ab83961bc4fcd7 100644
--- a/initial-packages.nix
+++ b/initial-packages.nix
@@ -33,6 +33,8 @@ self: with pkgs.haskell.lib; {
 
   HUnit = self.callPackage (./pkgs/HUnit.nix) { };
 
+  HaskellNet = self.callPackage (./pkgs/HaskellNet.nix) { };
+
   Hclip = self.callPackage (./pkgs/Hclip.nix) { };
 
   HsOpenSSL = self.callPackage (./pkgs/HsOpenSSL.nix) { };
@@ -1151,6 +1153,8 @@ self: with pkgs.haskell.lib; {
 
   microstache = self.callPackage (./pkgs/microstache.nix) { };
 
+  mime-mail = self.callPackage (./pkgs/mime-mail.nix) { };
+
   mime-types = self.callPackage (./pkgs/mime-types.nix) { };
 
   mmap = self.callPackage (./pkgs/mmap.nix) { };
diff --git a/pkgs/HaskellNet.nix b/pkgs/HaskellNet.nix
new file mode 100644
index 0000000000000000000000000000000000000000..3799347a80e7f167b0c2a94632f2d62b62bbc9c7
--- /dev/null
+++ b/pkgs/HaskellNet.nix
@@ -0,0 +1,48 @@
+{ mkDerivation
+, array
+, base
+, base64
+, bytestring
+, cryptohash-md5
+, lib
+, mime-mail
+, mtl
+, network
+, network-bsd
+, old-time
+, pretty
+, text
+}:
+mkDerivation {
+  pname = "HaskellNet";
+  version = "0.6.0.2";
+  sha256 = "f22a47152a02c3b54ed59c812d40ff703f2e94657b57071372d9716c20c30d53";
+  isLibrary = true;
+  isExecutable = false;
+  enableSeparateDataOutput = false;
+  libraryHaskellDepends = [
+    array
+    base
+    base64
+    bytestring
+    cryptohash-md5
+    mime-mail
+    mtl
+    network
+    network-bsd
+    old-time
+    pretty
+    text
+  ];
+  enableLibraryProfiling = true;
+  enableExecutableProfiling = true;
+  doHaddock = false;
+  jailbreak = true;
+  doCheck = false;
+  doBenchmark = false;
+  hyperlinkSource = false;
+  homepage = "https://github.com/qnikst/HaskellNet";
+  description = "Client support for POP3, SMTP, and IMAP";
+  license = lib.licenses.bsd3;
+  broken = false;
+}
diff --git a/pkgs/mime-mail.nix b/pkgs/mime-mail.nix
new file mode 100644
index 0000000000000000000000000000000000000000..ff3830864e9c9f3ebe169e24f5bd2f8709897b1b
--- /dev/null
+++ b/pkgs/mime-mail.nix
@@ -0,0 +1,42 @@
+{ mkDerivation
+, base
+, base64-bytestring
+, blaze-builder
+, bytestring
+, filepath
+, hspec
+, lib
+, process
+, random
+, text
+}:
+mkDerivation {
+  pname = "mime-mail";
+  version = "0.5.1";
+  sha256 = "af9484b1aa01bb110d95bfa0a38e9a30a654ef4f9b8689491e7cd31e36ba3ce8";
+  isLibrary = true;
+  isExecutable = false;
+  enableSeparateDataOutput = false;
+  libraryHaskellDepends = [
+    base
+    base64-bytestring
+    blaze-builder
+    bytestring
+    filepath
+    process
+    random
+    text
+  ];
+  testHaskellDepends = [ base blaze-builder bytestring hspec text ];
+  enableLibraryProfiling = true;
+  enableExecutableProfiling = true;
+  doHaddock = false;
+  jailbreak = true;
+  doCheck = false;
+  doBenchmark = false;
+  hyperlinkSource = false;
+  homepage = "http://github.com/snoyberg/mime-mail";
+  description = "Compose MIME email messages";
+  license = lib.licenses.mit;
+  broken = false;
+}