This is a simple installation and configuration manual to setup a private mailserver. The instructions will be continued in future...
- Apple M1 with macOS Big Sur but it should working at Intel Macs 64-bit too.
- Replacement for the missing mail and imap services in the macOS Server
- Receiving and sending emails of all accounts (private and business)
- Using Postfix, Dovecot and Fetchmail
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
type t<'a> = Js.Promise.t<'a> | |
type error | |
@bs.new | |
external make: ((@bs.uncurry ~resolve: (. 'a) => unit, ~reject: (. exn) => unit) => unit) => t<'a> = | |
"Promise" | |
@bs.val @bs.scope("Promise") external resolve: 'a => t<'a> = "resolve" | |
@bs.val @bs.scope("Promise") external reject: exn => t<'a> = "reject" | |
@bs.val @bs.scope("Promise") | |
external all: array<t<'a>> => t<array<'a>> = "all" |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
type heading = | |
| North | |
| South | |
| East | |
| West; | |
type position = { | |
x: int, | |
y: int, | |
heading, |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
type ordering = | |
| Greater | |
| Less | |
| Equal; | |
// ORD typeclass / interface module | |
module type ORD = { | |
type t; | |
let compare: (t, t) => ordering; | |
}; |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
namespace MyName { | |
export type MyType = string | number; | |
export const myValue: MyType = createSampleValue(); | |
// internal | |
function createSampleValue(): string { | |
return "test"; | |
} |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
open Relude.Globals; // I usually do this in bsconfig | |
type user = { | |
firstName: string, | |
lastName: string, | |
}; | |
type error = | |
| AlreadyLoggedIn; | |
type context = { |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
module Mark = { | |
[@unboxed] | |
type t = | |
| Any('a): t; | |
module Link = { | |
type attrs = { | |
href: string, | |
target: string, | |
}; |
NewerOlder