nodemailer / wildduck-dockerized Goto Github PK
View Code? Open in Web Editor NEWWildduck: dockerized - ๐ฆ+๐=โค
License: GNU General Public License v3.0
Wildduck: dockerized - ๐ฆ+๐=โค
License: GNU General Public License v3.0
docker-compose up -d with error messages
Status: Downloaded newer image for traefik:latest
Creating wildduck-dockerized_traefik_1 ... done
Creating wildduck-dockerized_redis_1 ... done
Creating wildduck-dockerized_mongo_1 ... done
Creating wildduck-dockerized_rspamd_1 ... error
Creating wildduck-dockerized_zonemta_1 ...
Creating wildduck-dockerized_wildduck_1 ...
ERROR: for wildduck-dockerized_rspamd_1 Cannot start service rspamd: failed to create shim: OCI runtime create failed: container_linux.go:380: starting container process caused: process_linux.go:545: container init caused: rootfs_linux.go:76: mounting "/home/administrator/git/wildduck-dockerized/config/rspamd/worker-normaCreating wildduck-dockerized_zonemta_1 ... done
Creating wildduck-dockerized_wildduck_1 ... done
Creating wildduck-dockerized_wildduck-webmail_1 ... done
ERROR: for rspamd Cannot start service rspamd: failed to create shim: OCI runtime create failed: container_linux.go:380: starting container process caused: process_linux.go:545: container init caused: rootfs_linux.go:76: mounting "/home/administrator/git/wildduck-dockerized/config/rspamd/worker-normal.conf" to rootfs at "/etc/rspamd/worker-normal.conf" caused: mount through procfd: not a directory: unknown: Are you trying to mount a directory onto a file (or vice-versa)? Check if the specified host path exists and is the expected type
ERROR: Encountered errors while bringing up the project.
2022-02-06 15:41:07 [administrator@ubuntu wildduck-dockerized]$ sudo docker-compose up -d
any suggestions ??
I have this issue
wildduck-webmail_1 | info Express WWW server listening on port 3000
wildduck-webmail_1 | /app/node_modules/ioredis/built/Command.js:43
wildduck-webmail_1 | this.args = args.flat();
wildduck-webmail_1 | ^
wildduck-webmail_1 |
wildduck-webmail_1 | TypeError: args.flat is not a function
wildduck-webmail_1 | at new Command (/app/node_modules/ioredis/built/Command.js:43:26)
wildduck-webmail_1 | at EventEmitter.select (/app/node_modules/ioredis/built/utils/Commander.js:92:13)
wildduck-webmail_1 | at Socket. (/app/node_modules/ioredis/built/redis/event_handler.js:40:18)
wildduck-webmail_1 | at Object.onceWrapper (events.js:286:20)
wildduck-webmail_1 | at Socket.emit (events.js:203:15)
wildduck-webmail_1 | at TCPConnectWrap.afterConnect [as oncomplete] (net.js:1093:10)
root_wildduck-webmail_1 exited with code 1
traefik_1 | time="2021-09-15T01:30:13Z" level=error msg="service \"wildduck-pop3s\" error: unable to find the IP address for the container \"/wildduck-dockerized_wildduck_1\": the server is ignored" container=wildduck-wildduck-dockerized-5d7046a3bfacdad1a222ce56fa1ec83be5a7396b7ada9a6b0f2853006486abc8 providerName=docker
traefik_1 | time="2021-09-15T01:30:03Z" level=error msg="service \"wildduck-imaps\" error: unable to find the IP address for the container \"/wildduck-dockerized_wildduck_1\": the server is ignored" providerName=docker container=wildduck-wildduck-dockerized-5d7046a3bfacdad1a222ce56fa1ec83be5a7396b7ada9a6b0f2853006486abc8
This error keeps repeating
Hello,
I can't find anything about using my own custom SSL certificates for wildduck.
I have certificates on my host machine, any way I can use them inside the containers for wildduck TLS/SSL etc?
Thank in advance,
Avii.
Currently I try to install wildduck dockerized on caprover, which has https certificate
I changed port "443" to "1443" (as example) gets "404 page not found" text
Same text I gets on 180 (ex 80) port, but there something "Found" (no any useful page)
On 443/80 all are ok
I am not sure why, but my wildduck webmail instance keeps spinning up and giving me this error:
docker logs topboy_wildduck-webmail_1
(node:1) UnhandledPromiseRejectionWarning: Error: Could not find openssl on your system on this path: openssl
at /app/node_modules/pem/lib/openssl.js:237:23
(node:1) UnhandledPromiseRejectionWarning: Unhandled promise rejection. This error originated either by throwing ins
ide of an async function without a catch block, or by rejecting a promise which was not handled with .catch(). (reje
ction id: 3)
(node:1) [DEP0018] DeprecationWarning: Unhandled promise rejections are deprecated. In the future, promise rejection
s that are not handled will terminate the Node.js process with a non-zero exit code.
Then when I run apk add openssl
in the docker instance, it'll install it, but the server still will not respond.. I don't even have webmail set up for secure traffic (I have it sitting behind an SSL Reverse proxy.. so I figured I did not need the webmail server itself to do HTTPS)...
Not sure what's causing this but I'll keep digging...
zonemta_1 | info App ---------------------------------------------------------------
zonemta_1 | info App
zonemta_1 | info App โโโโโโโโ โโโโโโโ โโโโ โโโโโโโโโโโโโโโ โโโโโโโโโโโโโ โโโโโโ
zonemta_1 | info App โโโโโโโโโโโโโโโโโโโโโโ โโโโโโโโโโโโโโโโ โโโโโโโโโโโโโโโโโโโโโโ
zonemta_1 | info App โโโโโ โโโ โโโโโโโโโ โโโโโโโโโ โโโโโโโโโโโ โโโ โโโโโโโโ
zonemta_1 | info App โโโโโ โโโ โโโโโโโโโโโโโโโโโโโ โโโโโโโโโโโ โโโ โโโโโโโโ
zonemta_1 | info App โโโโโโโโโโโโโโโโโโโโ โโโโโโโโโโโโโโโโโ โโโ โโโ โโโ โโโ โโโ
zonemta_1 | info App โโโโโโโโ โโโโโโโ โโโ โโโโโโโโโโโโโโโโ โโโ โโโ โโโ โโโ
zonemta_1 | info App
zonemta_1 | info App ------------------------ [email protected] -----------------------
zonemta_1 | info App
zonemta_1 | (node:8) Warning: Accessing non-existent property 'MongoError' of module exports inside circular dependency
zonemta_1 | (Use `node --trace-warnings ...` to show where the warning was created)
zonemta_1 | info SMTP/feeder SMTP feeder MTA server started listening on port 587
zonemta_1 | info QS Queue server started
zonemta_1 | info API API server started
zonemta_1 | info Redis/8 Redis ready to take connections
zonemta_1 | info mongo Setup 10 indexes
zonemta_1 | Top-level use of w, wtimeout, j, and fsync is deprecated. Use writeConcern instead.
zonemta_1 | info Queue Sending queue initialized
zonemta_1 | info Child/default/25 [c9a6879d2242b82aadd0] Spawning sender process for default
zonemta_1 | (node:19) Warning: Accessing non-existent property 'MongoError' of module exports inside circular dependency
zonemta_1 | (Use `node --trace-warnings ...` to show where the warning was created)
zonemta_1 | info Redis/19 Redis ready to take connections
...
zonemta_1 | info Redis/63 Redis ready to take connections
zonemta_1 | ERR! Queue/52 Could not initialize database: connection timed out
zonemta_1 | ERR! Child/default/52 [ccd344a2913955a5ae88] Sender process for default exited with 1
zonemta_1 | info Child/default/74 [0cc769d3c031272f47bb] Spawning sender process for default
zonemta_1 | info Child/default/81 [2a31870bab6ec98e54b9] Spawning sender process for default
zonemta_1 | info DNS/74 Loaded DNS cache
zonemta_1 | info Sender/default/74 [0cc769d3c031272f47bb] Starting sending for default
zonemta_1 | info ConnPool/74 Connection pool is ready to take connections
zonemta_1 | (node:74) Warning: Accessing non-existent property 'MongoError' of module exports inside circular dependency
zonemta_1 | (Use `node --trace-warnings ...` to show where the warning was created)
zonemta_1 | info Redis/74 Redis ready to take connections
...
zonemta_1 | ERR! Queue/63 Could not initialize database: connect ECONNREFUSED 172.25.0.3:27017
...
zonemta_1 | ERR! Queue/63 Could not initialize database: connect ECONNREFUSED 172.25.0.3:27017
...
zonemta container bursts on the CPU every time it retries, and memory allocated to the container grows by 100-300M every restart (indefinitely, stopped it at ~20G)
Using default generated config, with env HOSTNAMES=sub.domain.tld
(removed []
, as =[sub.domain.tld]
didn't work.
Mongo seems to be getting connections:
...
mongo_1 | {"t":{"$date":"2022-03-19T10:01:09.713+00:00"},"s":"I", "c":"NETWORK", "id":23015, "ctx":"listener","msg":"Listening on","attr":{"address":"/tmp/mongodb-27017.sock"}}
mongo_1 | {"t":{"$date":"2022-03-19T10:01:09.713+00:00"},"s":"I", "c":"NETWORK", "id":23015, "ctx":"listener","msg":"Listening on","attr":{"address":"0.0.0.0"}}
mongo_1 | {"t":{"$date":"2022-03-19T10:01:09.713+00:00"},"s":"I", "c":"NETWORK", "id":23016, "ctx":"listener","msg":"Waiting for connections","attr":{"port":27017,"ssl":"off"}}
mongo_1 | {"t":{"$date":"2022-03-19T10:01:10.835+00:00"},"s":"I", "c":"NETWORK", "id":22943, "ctx":"listener","msg":"Connection accepted","attr":{"remote":"172.26.0.6:60462","uuid":"593ee7e3-9177-434f-8584-91d15
62cb54f","connectionId":1,"connectionCount":1}}
mongo_1 | {"t":{"$date":"2022-03-19T10:01:10.842+00:00"},"s":"I", "c":"NETWORK", "id":51800, "ctx":"conn1","msg":"client metadata","attr":{"remote":"172.26.0.6:60462","client":"conn1","doc":{"driver":{"name":"no
dejs","version":"3.6.4"},"os":{"type":"Linux","name":"linux","architecture":"x64","version":"5.4.0-104-generic"},"platform":"'Node.js v14.16.0, LE (unified)"}}}
mongo_1 | {"t":{"$date":"2022-03-19T10:01:10.855+00:00"},"s":"I", "c":"NETWORK", "id":22943, "ctx":"listener","msg":"Connection accepted","attr":{"remote":"172.26.0.6:60464","uuid":"7da01757-e299-446b-883b-b01da
dbf6c84","connectionId":2,"connectionCount":2}}
mongo_1 | {"t":{"$date":"2022-03-19T10:01:10.856+00:00"},"s":"I", "c":"NETWORK", "id":51800, "ctx":"conn2","msg":"client metadata","attr":{"remote":"172.26.0.6:60464","client":"conn2","doc":{"driver":{"name":"no
dejs","version":"3.6.4"},"os":{"type":"Linux","name":"linux","architecture":"x64","version":"5.4.0-104-generic"},"platform":"'Node.js v14.16.0, LE (unified)"}}}
mongo_1 | {"t":{"$date":"2022-03-19T10:01:11.720+00:00"},"s":"I", "c":"NETWORK", "id":22943, "ctx":"listener","msg":"Connection accepted","attr":{"remote":"172.26.0.6:60470","uuid":"94679ad4-8ed4-4734-9688-efe19
067c39e","connectionId":3,"connectionCount":3}}
mongo_1 | {"t":{"$date":"2022-03-19T10:01:11.727+00:00"},"s":"I", "c":"NETWORK", "id":51800, "ctx":"conn3","msg":"client metadata","attr":{"remote":"172.26.0.6:60470","client":"conn3","doc":{"driver":{"name":"no
dejs","version":"3.6.4"},"os":{"type":"Linux","name":"linux","architecture":"x64","version":"5.4.0-104-generic"},"platform":"'Node.js v14.16.0, LE (unified)"}}}
mongo_1 | {"t":{"$date":"2022-03-19T10:01:11.909+00:00"},"s":"I", "c":"NETWORK", "id":22943, "ctx":"listener","msg":"Connection accepted","attr":{"remote":"172.26.0.7:35562","uuid":"10f78d0b-62bc-4f12-b05a-6f2f1
f813dfe","connectionId":4,"connectionCount":4}}
mongo_1 | {"t":{"$date":"2022-03-19T10:01:11.918+00:00"},"s":"I", "c":"NETWORK", "id":51800, "ctx":"conn4","msg":"client metadata","attr":{"remote":"172.26.0.7:35562","client":"conn4","doc":{"driver":{"name":"no
dejs","version":"3.6.9"},"os":{"type":"Linux","name":"linux","architecture":"x64","version":"5.4.0-104-generic"},"platform":"'Node.js v14.17.1, LE (unified)"}}}
mongo_1 | {"t":{"$date":"2022-03-19T10:01:11.954+00:00"},"s":"I", "c":"NETWORK", "id":22943, "ctx":"listener","msg":"Connection accepted","attr":{"remote":"172.26.0.7:35570","uuid":"f3410b79-fc6a-4e58-9670-3af9c
f4939ce","connectionId":5,"connectionCount":5}}
mongo_1 | {"t":{"$date":"2022-03-19T10:01:11.954+00:00"},"s":"I", "c":"NETWORK", "id":51800, "ctx":"conn5","msg":"client metadata","attr":{"remote":"172.26.0.7:35570","client":"conn5","doc":{"driver":{"name":"no
dejs","version":"3.6.9"},"os":{"type":"Linux","name":"linux","architecture":"x64","version":"5.4.0-104-generic"},"platform":"'Node.js v14.17.1, LE (unified)"}}}
mongo_1 | {"t":{"$date":"2022-03-19T10:01:12.440+00:00"},"s":"I", "c":"NETWORK", "id":22943, "ctx":"listener","msg":"Connection accepted","attr":{"remote":"172.26.0.8:49584","uuid":"5bba1fc0-46e1-45ec-9776-fc415
802ab06","connectionId":6,"connectionCount":6}}
mongo_1 | {"t":{"$date":"2022-03-19T10:01:12.459+00:00"},"s":"I", "c":"NETWORK", "id":51800, "ctx":"conn6","msg":"client metadata","attr":{"remote":"172.26.0.8:49584","client":"conn6","doc":{"driver":{"name":"no
dejs","version":"3.6.3"},"os":{"type":"Linux","name":"linux","architecture":"x64","version":"5.4.0-104-generic"},"platform":"'Node.js v14.16.0, LE (unified)"}}}
mongo_1 | {"t":{"$date":"2022-03-19T10:01:14.074+00:00"},"s":"I", "c":"NETWORK", "id":22943, "ctx":"listener","msg":"Connection accepted","attr":{"remote":"172.26.0.8:49592","uuid":"3af84bb3-c469-4bd3-85e4-ae08f
8a4e7d2","connectionId":7,"connectionCount":7}}
mongo_1 | {"t":{"$date":"2022-03-19T10:01:14.099+00:00"},"s":"I", "c":"NETWORK", "id":51800, "ctx":"conn7","msg":"client metadata","attr":{"remote":"172.26.0.8:49592","client":"conn7","doc":{"driver":{"name":"no
dejs","version":"3.6.3"},"os":{"type":"Linux","name":"linux","architecture":"x64","version":"5.4.0-104-generic"},"platform":"'Node.js v14.16.0, LE (unified)"}}}
mongo_1 | {"t":{"$date":"2022-03-19T10:01:21.364+00:00"},"s":"I", "c":"NETWORK", "id":22943, "ctx":"listener","msg":"Connection accepted","attr":{"remote":"172.26.0.6:60530","uuid":"6318701d-700c-450b-acbb-4aaff
c6478b4","connectionId":8,"connectionCount":8}}
mongo_1 | {"t":{"$date":"2022-03-19T10:01:21.365+00:00"},"s":"I", "c":"NETWORK", "id":51800, "ctx":"conn8","msg":"client metadata","attr":{"remote":"172.26.0.6:60530","client":"conn8","doc":{"driver":{"name":"no
dejs","version":"3.6.4"},"os":{"type":"Linux","name":"linux","architecture":"x64","version":"5.4.0-104-generic"},"platform":"'Node.js v14.16.0, LE (unified)"}}}
mongo_1 | {"t":{"$date":"2022-03-19T10:01:22.445+00:00"},"s":"I", "c":"NETWORK", "id":22943, "ctx":"listener","msg":"Connection accepted","attr":{"remote":"172.26.0.7:35622","uuid":"d3935efe-3ee0-430a-854e-891bd
6cce7ca","connectionId":9,"connectionCount":9}}
mongo_1 | {"t":{"$date":"2022-03-19T10:01:22.448+00:00"},"s":"I", "c":"NETWORK", "id":51800, "ctx":"conn9","msg":"client metadata","attr":{"remote":"172.26.0.7:35622","client":"conn9","doc":{"driver":{"name":"no
dejs","version":"3.6.9"},"os":{"type":"Linux","name":"linux","architecture":"x64","version":"5.4.0-104-generic"},"platform":"'Node.js v14.17.1, LE (unified)"}}}
mongo_1 | {"t":{"$date":"2022-03-19T10:01:22.556+00:00"},"s":"I", "c":"NETWORK", "id":22943, "ctx":"listener","msg":"Connection accepted","attr":{"remote":"172.26.0.6:60536","uuid":"4afdc1b8-4545-4274-bfdd-091ae
81863ec","connectionId":10,"connectionCount":10}}
mongo_1 | {"t":{"$date":"2022-03-19T10:01:22.561+00:00"},"s":"I", "c":"NETWORK", "id":51800, "ctx":"conn10","msg":"client metadata","attr":{"remote":"172.26.0.6:60536","client":"conn10","doc":{"driver":{"name":"
nodejs","version":"3.6.4"},"os":{"type":"Linux","name":"linux","architecture":"x64","version":"5.4.0-104-generic"},"platform":"'Node.js v14.16.0, LE (unified)"}}}
mongo_1 | {"t":{"$date":"2022-03-19T10:01:23.020+00:00"},"s":"I", "c":"NETWORK", "id":22943, "ctx":"listener","msg":"Connection accepted","attr":{"remote":"172.26.0.8:49606","uuid":"d67c61d5-6163-434e-9a1a-0c8f5
a298888","connectionId":11,"connectionCount":11}}
mongo_1 | {"t":{"$date":"2022-03-19T10:01:23.026+00:00"},"s":"I", "c":"NETWORK", "id":51800, "ctx":"conn11","msg":"client metadata","attr":{"remote":"172.26.0.8:49606","client":"conn11","doc":{"driver":{"name":"
nodejs","version":"3.6.3"},"os":{"type":"Linux","name":"linux","architecture":"x64","version":"5.4.0-104-generic"},"platform":"'Node.js v14.16.0, LE (unified)"}}}
mongo_1 | {"t":{"$date":"2022-03-19T10:01:24.643+00:00"},"s":"I", "c":"NETWORK", "id":22943, "ctx":"listener","msg":"Connection accepted","attr":{"remote":"172.26.0.8:49608","uuid":"1296ef44-aa49-4485-a925-fe4e0
21e23cf","connectionId":12,"connectionCount":12}}
mongo_1 | {"t":{"$date":"2022-03-19T10:01:24.646+00:00"},"s":"I", "c":"NETWORK", "id":51800, "ctx":"conn12","msg":"client metadata","attr":{"remote":"172.26.0.8:49608","client":"conn12","doc":{"driver":{"name":"
nodejs","version":"3.6.3"},"os":{"type":"Linux","name":"linux","architecture":"x64","version":"5.4.0-104-generic"},"platform":"'Node.js v14.16.0, LE (unified)"}}}
...
On bringing the containers down, mongo closed ~300 open connections.
https://dev.to/mark_saward/caddy-vs-traefik-1dkp
wemake-services/wemake-django-template#36
Caddy can renew certs too
_1 | /wildduck/api.js:164
wildduck_1 | origins: [].concat(config.api.cors.origins || ['*']),
wildduck_1 | ^
wildduck_1 |
wildduck_1 | TypeError: Cannot read property 'origins' of undefined
wildduck_1 | at Object. (/wildduck/api.js:164:40)
wildduck_1 | at Module._compile (internal/modules/cjs/loader.js:1085:14)
wildduck_1 | at Object.Module._extensions..js (internal/modules/cjs/loader.js:1114:10)
wildduck_1 | at Module.load (internal/modules/cjs/loader.js:950:32)
wildduck_1 | at Function.Module._load (internal/modules/cjs/loader.js:790:14)
wildduck_1 | at Module.require (internal/modules/cjs/loader.js:974:19)
wildduck_1 | at require (internal/modules/cjs/helpers.js:92:18)
wildduck_1 | at Object. (/wildduck/worker.js:8:13)
wildduck_1 | at Module._compile (internal/modules/cjs/loader.js:1085:14)
wildduck_1 | at Object.Module._extensions..js (internal/modules/cjs/loader.js:1114:10)
/wildduck/api.js:147
origins: [].concat(config.api.cors.origins || ['*']),
^
TypeError: Cannot read property 'origins' of undefined
Dear @nodemailer team,
31 August 2006: RFC4616: The PLAIN Simple Authentication and Security Layer (SASL) Mechanism:
20 November 2008: CRAM-MD5 to Historic:
29 June 2017: CRAM-MD5 to Historic:
July 2011: RFC6331: Moving DIGEST-MD5 to Historic:
August 2021: RFC9051: Internet Message Access Protocol (IMAP) - Version 4rev2:
"Replaced DIGEST-MD5 SASL mechanism with SCRAM-SHA-256. DIGEST-MD5 was deprecated."
In more LOGIN (it has been replaced by PLAIN), CRAM-MD5, I add same about NTLM.
There are now:
Soon:
Linked to:
If I try to start the nodemailer/wildduck:1.41.3 container on a arm64 Server I do get the following error:
exec /usr/bin/dumb-init: exec format error
Is it possible the container has not build correctly for arm64? There are no issues with the nodemailer/haraka-wildduck and
nodemailer/zonemta-wildduck containers.
The Version in the docker-compose.yml of this repository v1.34.0 does not seem to have a arm64 Version:
docker: image with reference docker.io/nodemailer/wildduck:v1.34.0 was found but does not match the specified platform: wanted linux/arm64, actual: linux/amd64.
it does not sign emails at all
I would say that its better to just host without any proxy or ssl cuz its really messes up things keeping it plain and simple and using something like a NgnixProxyManager would be a greater help for the users
Hi,
Are there any plans to support this deoplyment onn k8s?
Setup:
edited tls.ini with cert and ley value for letsencrypt certificate as privkey.pem and fullchain.pem
Following error code:
Starting up Haraka version 2.8.27
[INFO] [-] [core] Loading plugins
[INFO] [-] [core] Loading plugin: spf
[INFO] [-] [core] Loading plugin: dkim_verify
[INFO] [-] [core] Loading plugin: rspamd
[INFO] [-] [core] Loading plugin: tls
[INFO] [-] [core] loading tls.ini
[INFO] [-] [core] Generating a 2048 bit dhparams file at /app/config/dhparams.pem
[INFO] [-] [core] Loading plugin: wildduck
[CRIT] [-] [core] Error: spawn openssl ENOENT
[CRIT] [-] [core] at Process.ChildProcess._handle.onexit (internal/child_process.js:269:19)
[CRIT] [-] [core] at onErrorNT (internal/child_process.js:465:16)
[CRIT] [-] [core] at processTicksAndRejections (internal/process/task_queues.js:80:21)
[NOTICE] [-] [core] Shutting down
After initial configuration, traefik generates a SSL certificate for 80 HTTP port, but not for 8080 API port.
I can't use the API because of that, REST client complains about self-signed certificate.
Hello,
My use case: All my email is marked as SPAM by google (on the recent days, it is marked as REJECTED and is not delivered), I have implemented almost all the recommended practices by google (see https://support.google.com/mail/answer/81126?sjid=17926696693480439006-NA)
I have also read that the List-Unsubscribe header is well known as a good practice for google. After taking a look on the nodemailer/wildduck code, I see that it is supported (if the header is passed https://github.com/nodemailer/wildduck/blob/1a800fd7be54392478e399257e7b0f0dd2db3820/lib/api/messages.js#L869-L870), but is not clear to me if you pass the header somewhere, or if I can configure it on the .toml files.
I appreciate your help.
Carlos
Please add configuration instructions such as A record, mx record and SPF record of the domain name.
Example for a standalone mail server.
Please add instructions on how to disable some servers, such as webmail or IMAP services for scratch.
There are two purposes, one is quickly configure and build a mail server, and the other is to develop secondary applications based on some services, Meet custom requirements.
Add a docker-compose mail server quick setup file, which can be downloaded and installed directly from hub.docker.com. Simple, convenient and clean.
The project astzweig/wildduck
I have been using before is very fast and convenient.
https://hub.docker.com/r/astzweig/wildduck
Thanks, great project
When I setup env in my instance and test wild duck webmail, when I signup with a new user and try to log in gives me auth error and I have tried the same thing on wilduck demo site: https://webmail.wildduck.email/account/login
Why did this happen? I can not log in to webmail
After I installed it according to the document, I opened mail.mydomain.com, but I could not create an account.
Dear @nodemailer team,
Can you add supports of :
You can add too:
"When using the SASL SCRAM mechanism, the SCRAM-SHA-256-PLUS variant SHOULD be preferred over the SCRAM-SHA-256 variant, and SHA-256 variants [RFC7677] SHOULD be preferred over SHA-1 variants [RFC5802]".
SCRAM-SHA-1(-PLUS):
-- https://tools.ietf.org/html/rfc5802
-- https://tools.ietf.org/html/rfc6120
SCRAM-SHA-256(-PLUS):
-- https://tools.ietf.org/html/rfc7677 since 2015-11-02
-- https://tools.ietf.org/html/rfc8600 since 2019-06-21: https://mailarchive.ietf.org/arch/msg/ietf-announce/suJMmeMhuAOmGn_PJYgX5Vm8lNA
SCRAM-SHA-512(-PLUS):
-- https://tools.ietf.org/html/draft-melnikov-scram-sha-512
SCRAM-SHA3-512(-PLUS):
-- https://tools.ietf.org/html/draft-melnikov-scram-sha3-512
SCRAM BIS: Salted Challenge Response Authentication Mechanism (SCRAM) SASL and GSS-API Mechanisms:
-- https://tools.ietf.org/html/draft-melnikov-scram-bis
https://xmpp.org/extensions/inbox/hash-recommendations.html
-PLUS variants:
IMAP:
LDAP:
HTTP:
2FA:
IANA:
Linked to:
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.