@bumail/smtp 0.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/LICENSE +21 -0
- package/README.md +263 -0
- package/dist/errors.d.ts +13 -0
- package/dist/errors.d.ts.map +1 -0
- package/dist/index.d.ts +9 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +1319 -0
- package/dist/index.js.map +29 -0
- package/dist/protocol/command.d.ts +20 -0
- package/dist/protocol/command.d.ts.map +1 -0
- package/dist/protocol/data.d.ts +24 -0
- package/dist/protocol/data.d.ts.map +1 -0
- package/dist/protocol/path.d.ts +20 -0
- package/dist/protocol/path.d.ts.map +1 -0
- package/dist/protocol/reply.d.ts +13 -0
- package/dist/protocol/reply.d.ts.map +1 -0
- package/dist/protocol/sasl.d.ts +16 -0
- package/dist/protocol/sasl.d.ts.map +1 -0
- package/dist/server/auth.d.ts +6 -0
- package/dist/server/auth.d.ts.map +1 -0
- package/dist/server/commands.d.ts +4 -0
- package/dist/server/commands.d.ts.map +1 -0
- package/dist/server/connection.d.ts +52 -0
- package/dist/server/connection.d.ts.map +1 -0
- package/dist/server/guard.d.ts +18 -0
- package/dist/server/guard.d.ts.map +1 -0
- package/dist/server/input.d.ts +31 -0
- package/dist/server/input.d.ts.map +1 -0
- package/dist/server/intake.d.ts +31 -0
- package/dist/server/intake.d.ts.map +1 -0
- package/dist/server/lines.d.ts +25 -0
- package/dist/server/lines.d.ts.map +1 -0
- package/dist/server/options.d.ts +151 -0
- package/dist/server/options.d.ts.map +1 -0
- package/dist/server/received.d.ts +11 -0
- package/dist/server/received.d.ts.map +1 -0
- package/dist/server/refusals.d.ts +16 -0
- package/dist/server/refusals.d.ts.map +1 -0
- package/dist/server/server.d.ts +25 -0
- package/dist/server/server.d.ts.map +1 -0
- package/dist/server/settings.d.ts +16 -0
- package/dist/server/settings.d.ts.map +1 -0
- package/dist/server/state.d.ts +24 -0
- package/dist/server/state.d.ts.map +1 -0
- package/dist/server/transaction.d.ts +6 -0
- package/dist/server/transaction.d.ts.map +1 -0
- package/dist/server/transport.d.ts +42 -0
- package/dist/server/transport.d.ts.map +1 -0
- package/docs/README.md +10 -0
- package/docs/guide.md +976 -0
- package/docs/roadmap.md +45 -0
- package/docs/troubleshooting.md +1308 -0
- package/package.json +55 -0
package/docs/roadmap.md
ADDED
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
# Roadmap
|
|
2
|
+
|
|
3
|
+
What `@bumail/smtp` gives a mail server, and what is coming. This page is a
|
|
4
|
+
direction, not a commitment: the version something shipped in is the only
|
|
5
|
+
number on it.
|
|
6
|
+
|
|
7
|
+
## Now
|
|
8
|
+
|
|
9
|
+
Nothing in progress: the server below is merged and waits for its first
|
|
10
|
+
release.
|
|
11
|
+
|
|
12
|
+
## Next
|
|
13
|
+
|
|
14
|
+
- **The client, on its own subpath** — outbound delivery: MX lookup,
|
|
15
|
+
opportunistic STARTTLS, connection reuse per destination. In this
|
|
16
|
+
package, beside the server, since both share the command and reply
|
|
17
|
+
grammar.
|
|
18
|
+
- **DSN** (RFC 3461) — `RET`, `ENVID`, `NOTIFY` and `ORCPT` accepted and
|
|
19
|
+
handed to the app, so a sender can ask for delivery status
|
|
20
|
+
notifications. Today they are refused with `555 5.5.4`.
|
|
21
|
+
- **Delivery into `@bumail/store`, ready-made** — an `onData` that puts
|
|
22
|
+
each message in its recipients' inboxes, instead of the few lines the
|
|
23
|
+
[guide](guide.md#delivering-into-bumailstore) shows today. The store
|
|
24
|
+
itself has landed; only the helper is to come.
|
|
25
|
+
|
|
26
|
+
## Not planned
|
|
27
|
+
|
|
28
|
+
- **Relaying without AUTH** — not as a default, not as an option. A
|
|
29
|
+
recipient outside `localDomains` takes an authenticated session; an open
|
|
30
|
+
relay is a spam source within hours of going online.
|
|
31
|
+
- **AUTH on a clear connection** — the password would cross the network in
|
|
32
|
+
base64. Use STARTTLS or implicit TLS.
|
|
33
|
+
|
|
34
|
+
## Shipped
|
|
35
|
+
|
|
36
|
+
Merged, not yet published:
|
|
37
|
+
|
|
38
|
+
- **The server** — RFC 5321 on `Bun.listen`: EHLO with PIPELINING, SIZE,
|
|
39
|
+
8BITMIME, SMTPUTF8 and ENHANCEDSTATUSCODES; STARTTLS and implicit TLS;
|
|
40
|
+
AUTH PLAIN and LOGIN, offered only once encrypted; hooks where the app
|
|
41
|
+
accepts or refuses a connection, a sender, a recipient or a message;
|
|
42
|
+
limits on size, recipients, connections, errors and idle time; a
|
|
43
|
+
greeting delay that turns away senders who talk before the 220; a `250`
|
|
44
|
+
only once the app read the whole message; and a refusal of SMTP
|
|
45
|
+
smuggling.
|