mirror of
https://github.com/nodemailer/wildduck.git
synced 2025-09-14 00:54:36 +08:00
fix: Update all urls in all files to point to new repo url. ZMS-180 (#791)
* update all urls in all files to point to new repo url
This commit is contained in:
parent
7e77db782f
commit
37a686db08
23 changed files with 261 additions and 132 deletions
|
@ -4,7 +4,7 @@
|
|||
"title": "WildDuck API",
|
||||
"description": "WildDuck API docs",
|
||||
"contact": {
|
||||
"url": "https://github.com/nodemailer/wildduck"
|
||||
"url": "https://github.com/zone-eu/wildduck"
|
||||
}
|
||||
},
|
||||
"servers": [{ "url": "https://api.wildduck.email" }],
|
||||
|
|
|
@ -26,13 +26,13 @@ WildDuck can be installed on any Node.js compatible platform.
|
|||
|
||||
Every component of the WildDuck mail server can be replicated which eliminates potential single point of failures.
|
||||
|
||||

|
||||

|
||||
|
||||
## Storage
|
||||
|
||||
Attachment de-duplication and compression gives up to 56% of storage size reduction.
|
||||
|
||||

|
||||

|
||||
|
||||
## Goals of the Project
|
||||
|
||||
|
|
|
@ -1,3 +1,3 @@
|
|||
# Inbound SMTP
|
||||
|
||||
Use [Haraka](http://haraka.github.io/) with [haraka-plugins-wildduck](https://github.com/nodemailer/haraka-plugin-wildduck) to validate recipient addresses and quota usage against the WildDuck users database and to store/filter messages.
|
||||
Use [Haraka](http://haraka.github.io/) with [haraka-plugins-wildduck](https://github.com/zone-eu/haraka-plugin-wildduck) to validate recipient addresses and quota usage against the WildDuck users database and to store/filter messages.
|
|
@ -1,7 +1,7 @@
|
|||
# Outbound SMTP
|
||||
|
||||
Use [WildDuck MTA](https://github.com/nodemailer/wildduck-mta) (which under the hood is [ZoneMTA](https://github.com/zone-eu/zone-mta) with the
|
||||
[ZoneMTA-WildDuck](https://github.com/nodemailer/zonemta-wildduck) plugin).
|
||||
[ZoneMTA-WildDuck](https://github.com/zone-eu/zonemta-wildduck) plugin).
|
||||
|
||||
This gives you an outbound SMTP server that uses WildDuck accounts for authentication. The plugin authenticates user credentials and also rewrites headers if
|
||||
needed (if the header From: address does not match user address or aliases then it is rewritten).
|
|
@ -4,9 +4,9 @@
|
|||
"title": "WildDuck API",
|
||||
"description": "WildDuck API docs",
|
||||
"contact": {
|
||||
"url": "https://github.com/nodemailer/wildduck"
|
||||
"url": "https://github.com/zone-eu/wildduck"
|
||||
},
|
||||
"version": "1.45.3"
|
||||
"version": "1.45.4"
|
||||
},
|
||||
"servers": [
|
||||
{
|
||||
|
@ -147,7 +147,8 @@
|
|||
"description": "How many records to return",
|
||||
"required": false,
|
||||
"schema": {
|
||||
"type": "number"
|
||||
"type": "number",
|
||||
"default": 20
|
||||
}
|
||||
},
|
||||
{
|
||||
|
@ -178,7 +179,8 @@
|
|||
"description": "Current page number. Informational only, page numbers start from 1",
|
||||
"required": false,
|
||||
"schema": {
|
||||
"type": "number"
|
||||
"type": "number",
|
||||
"default": 1
|
||||
}
|
||||
},
|
||||
{
|
||||
|
@ -239,11 +241,13 @@
|
|||
},
|
||||
"hashedPassword": {
|
||||
"type": "boolean",
|
||||
"description": "If true then password is already hashed, so store as is. Supported hashes: pbkdf2, bcrypt ($2a, $2y, $2b), md5 ($1), sha512 ($6), sha256 ($5), argon2 ($argon2d, $argon2i, $argon2id). Stored hashes are rehashed to pbkdf2 on first successful password check."
|
||||
"description": "If true then password is already hashed, so store as is. Supported hashes: pbkdf2, bcrypt ($2a, $2y, $2b), md5 ($1), sha512 ($6), sha256 ($5), argon2 ($argon2d, $argon2i, $argon2id). Stored hashes are rehashed to pbkdf2 on first successful password check.",
|
||||
"default": false
|
||||
},
|
||||
"allowUnsafe": {
|
||||
"type": "boolean",
|
||||
"description": "If false then validates provided passwords against Have I Been Pwned API. Experimental, so validation is disabled by default but will be enabled automatically in some future version of WildDuck."
|
||||
"description": "If false then validates provided passwords against Have I Been Pwned API. Experimental, so validation is disabled by default but will be enabled automatically in some future version of WildDuck.",
|
||||
"default": true
|
||||
},
|
||||
"address": {
|
||||
"type": "string",
|
||||
|
@ -251,7 +255,8 @@
|
|||
},
|
||||
"emptyAddress": {
|
||||
"type": "boolean",
|
||||
"description": "If true then do not autogenerate missing email address for the User. Only needed if you want to create a user account that does not have any email address associated"
|
||||
"description": "If true then do not autogenerate missing email address for the User. Only needed if you want to create a user account that does not have any email address associated",
|
||||
"default": false
|
||||
},
|
||||
"language": {
|
||||
"type": "string",
|
||||
|
@ -259,7 +264,8 @@
|
|||
},
|
||||
"retention": {
|
||||
"type": "number",
|
||||
"description": "Default retention time (in ms). Set to 0 to disable"
|
||||
"description": "Default retention time (in ms). Set to 0 to disable",
|
||||
"default": 0
|
||||
},
|
||||
"name": {
|
||||
"type": "string",
|
||||
|
@ -274,51 +280,63 @@
|
|||
},
|
||||
"spamLevel": {
|
||||
"type": "number",
|
||||
"description": "Relative scale for detecting spam. 0 means that everything is spam, 100 means that nothing is spam"
|
||||
"description": "Relative scale for detecting spam. 0 means that everything is spam, 100 means that nothing is spam",
|
||||
"default": 50
|
||||
},
|
||||
"quota": {
|
||||
"type": "number",
|
||||
"description": "Allowed quota of the user in bytes"
|
||||
"description": "Allowed quota of the user in bytes",
|
||||
"default": 0
|
||||
},
|
||||
"recipients": {
|
||||
"type": "number",
|
||||
"description": "How many messages per 24 hour can be sent"
|
||||
"description": "How many messages per 24 hour can be sent",
|
||||
"default": 0
|
||||
},
|
||||
"forwards": {
|
||||
"type": "number",
|
||||
"description": "How many messages per 24 hour can be forwarded"
|
||||
"description": "How many messages per 24 hour can be forwarded",
|
||||
"default": 0
|
||||
},
|
||||
"filters": {
|
||||
"type": "number",
|
||||
"description": "How many filters are allowed for this account"
|
||||
"description": "How many filters are allowed for this account",
|
||||
"default": 0
|
||||
},
|
||||
"requirePasswordChange": {
|
||||
"type": "boolean",
|
||||
"description": "If true then requires the user to change password, useful if password for the account was autogenerated"
|
||||
"description": "If true then requires the user to change password, useful if password for the account was autogenerated",
|
||||
"default": false
|
||||
},
|
||||
"imapMaxUpload": {
|
||||
"type": "number",
|
||||
"description": "How many bytes can be uploaded via IMAP during 24 hour"
|
||||
"description": "How many bytes can be uploaded via IMAP during 24 hour",
|
||||
"default": 0
|
||||
},
|
||||
"imapMaxDownload": {
|
||||
"type": "number",
|
||||
"description": "How many bytes can be downloaded via IMAP during 24 hour"
|
||||
"description": "How many bytes can be downloaded via IMAP during 24 hour",
|
||||
"default": 0
|
||||
},
|
||||
"pop3MaxDownload": {
|
||||
"type": "number",
|
||||
"description": "How many bytes can be downloaded via POP3 during 24 hour"
|
||||
"description": "How many bytes can be downloaded via POP3 during 24 hour",
|
||||
"default": 0
|
||||
},
|
||||
"pop3MaxMessages": {
|
||||
"type": "number",
|
||||
"description": "How many latest messages to list in POP3 session"
|
||||
"description": "How many latest messages to list in POP3 session",
|
||||
"default": 0
|
||||
},
|
||||
"imapMaxConnections": {
|
||||
"type": "number",
|
||||
"description": "How many parallel IMAP connections are allowed"
|
||||
"description": "How many parallel IMAP connections are allowed",
|
||||
"default": 0
|
||||
},
|
||||
"receivedMax": {
|
||||
"type": "number",
|
||||
"description": "How many messages can be received from MX during 60 seconds"
|
||||
"description": "How many messages can be received from MX during 60 seconds",
|
||||
"default": 0
|
||||
},
|
||||
"fromWhitelist": {
|
||||
"type": "array",
|
||||
|
@ -336,11 +354,13 @@
|
|||
},
|
||||
"addTagsToAddress": {
|
||||
"type": "boolean",
|
||||
"description": "If true then autogenerated address gets the same tags as the user"
|
||||
"description": "If true then autogenerated address gets the same tags as the user",
|
||||
"default": false
|
||||
},
|
||||
"uploadSentMessages": {
|
||||
"type": "boolean",
|
||||
"description": "If true then all messages sent through MSA are also uploaded to the Sent Mail folder. Might cause duplicates with some email clients, so disabled by default."
|
||||
"description": "If true then all messages sent through MSA are also uploaded to the Sent Mail folder. Might cause duplicates with some email clients, so disabled by default.",
|
||||
"default": false
|
||||
},
|
||||
"mailboxes": {
|
||||
"$ref": "#/components/schemas/Mailboxes"
|
||||
|
@ -373,18 +393,21 @@
|
|||
},
|
||||
"encryptMessages": {
|
||||
"type": "boolean",
|
||||
"description": "If true then received messages are encrypted"
|
||||
"description": "If true then received messages are encrypted",
|
||||
"default": false
|
||||
},
|
||||
"encryptForwarded": {
|
||||
"type": "boolean",
|
||||
"description": "If true then forwarded messages are encrypted"
|
||||
"description": "If true then forwarded messages are encrypted",
|
||||
"default": false
|
||||
},
|
||||
"featureFlags": {
|
||||
"type": "object",
|
||||
"description": "Feature flags to specify",
|
||||
"properties": {
|
||||
"indexing": {
|
||||
"type": "boolean"
|
||||
"type": "boolean",
|
||||
"default": false
|
||||
}
|
||||
}
|
||||
},
|
||||
|
@ -546,11 +569,13 @@
|
|||
},
|
||||
"hashedPassword": {
|
||||
"type": "boolean",
|
||||
"description": "If true then password is already hashed, so store as is. Supported hashes: pbkdf2, bcrypt ($2a, $2y, $2b), md5 ($1), sha512 ($6), sha256 ($5), argon2 ($argon2d, $argon2i, $argon2id). Stored hashes are rehashed to pbkdf2 on first successful password check."
|
||||
"description": "If true then password is already hashed, so store as is. Supported hashes: pbkdf2, bcrypt ($2a, $2y, $2b), md5 ($1), sha512 ($6), sha256 ($5), argon2 ($argon2d, $argon2i, $argon2id). Stored hashes are rehashed to pbkdf2 on first successful password check.",
|
||||
"default": false
|
||||
},
|
||||
"allowUnsafe": {
|
||||
"type": "boolean",
|
||||
"description": "If false then validates provided passwords against Have I Been Pwned API. Experimental, so validation is disabled by default but will be enabled automatically in some future version of WildDuck."
|
||||
"description": "If false then validates provided passwords against Have I Been Pwned API. Experimental, so validation is disabled by default but will be enabled automatically in some future version of WildDuck.",
|
||||
"default": true
|
||||
},
|
||||
"language": {
|
||||
"type": "string",
|
||||
|
@ -573,7 +598,8 @@
|
|||
},
|
||||
"uploadSentMessages": {
|
||||
"type": "boolean",
|
||||
"description": "If true then all messages sent through MSA are also uploaded to the Sent Mail folder. Might cause duplicates with some email clients, so disabled by default."
|
||||
"description": "If true then all messages sent through MSA are also uploaded to the Sent Mail folder. Might cause duplicates with some email clients, so disabled by default.",
|
||||
"default": false
|
||||
},
|
||||
"fromWhitelist": {
|
||||
"type": "array",
|
||||
|
@ -680,7 +706,8 @@
|
|||
"description": "Enabled feature flags",
|
||||
"properties": {
|
||||
"indexing": {
|
||||
"type": "boolean"
|
||||
"type": "boolean",
|
||||
"default": false
|
||||
}
|
||||
}
|
||||
},
|
||||
|
@ -751,6 +778,7 @@
|
|||
"schema": {
|
||||
"type": "string",
|
||||
"format": "date-time",
|
||||
"default": false,
|
||||
"enum": [
|
||||
false
|
||||
]
|
||||
|
@ -1267,7 +1295,8 @@
|
|||
"description": "How many records to return",
|
||||
"required": false,
|
||||
"schema": {
|
||||
"type": "number"
|
||||
"type": "number",
|
||||
"default": 20
|
||||
}
|
||||
},
|
||||
{
|
||||
|
@ -1298,7 +1327,8 @@
|
|||
"description": "Current page number. Informational only, page numbers start from 1",
|
||||
"required": false,
|
||||
"schema": {
|
||||
"type": "number"
|
||||
"type": "number",
|
||||
"default": 1
|
||||
}
|
||||
},
|
||||
{
|
||||
|
@ -1736,6 +1766,7 @@
|
|||
"example": "`limit=25`",
|
||||
"schema": {
|
||||
"type": "number",
|
||||
"default": 20,
|
||||
"example": "`limit=25`"
|
||||
}
|
||||
},
|
||||
|
@ -1811,7 +1842,8 @@
|
|||
},
|
||||
"forwards": {
|
||||
"type": "number",
|
||||
"description": "Daily allowed forwarding count for this address"
|
||||
"description": "Daily allowed forwarding count for this address",
|
||||
"default": 0
|
||||
},
|
||||
"allowWildcard": {
|
||||
"type": "boolean",
|
||||
|
@ -2208,7 +2240,8 @@
|
|||
"description": "Should the response include only folders with specialUse flag set.",
|
||||
"required": false,
|
||||
"schema": {
|
||||
"type": "boolean"
|
||||
"type": "boolean",
|
||||
"default": false
|
||||
}
|
||||
},
|
||||
{
|
||||
|
@ -2217,7 +2250,8 @@
|
|||
"description": "Hidden folders are not included in the listing by default.",
|
||||
"required": false,
|
||||
"schema": {
|
||||
"type": "boolean"
|
||||
"type": "boolean",
|
||||
"default": false
|
||||
}
|
||||
},
|
||||
{
|
||||
|
@ -2226,7 +2260,8 @@
|
|||
"description": "Should the response include counters (total + unseen). Counters come with some overhead.",
|
||||
"required": false,
|
||||
"schema": {
|
||||
"type": "boolean"
|
||||
"type": "boolean",
|
||||
"default": false
|
||||
}
|
||||
},
|
||||
{
|
||||
|
@ -2235,7 +2270,8 @@
|
|||
"description": "Should the response include mailbox size in bytes. Size numbers come with a lot of overhead as an aggregated query is ran.",
|
||||
"required": false,
|
||||
"schema": {
|
||||
"type": "boolean"
|
||||
"type": "boolean",
|
||||
"default": false
|
||||
}
|
||||
},
|
||||
{
|
||||
|
@ -2288,7 +2324,8 @@
|
|||
},
|
||||
"hidden": {
|
||||
"type": "boolean",
|
||||
"description": "Is the folder hidden or not. Hidden folders can not be opened in IMAP."
|
||||
"description": "Is the folder hidden or not. Hidden folders can not be opened in IMAP.",
|
||||
"default": false
|
||||
},
|
||||
"retention": {
|
||||
"type": "number",
|
||||
|
@ -2298,6 +2335,11 @@
|
|||
"type": "string",
|
||||
"description": "Session identifier for the logs"
|
||||
},
|
||||
"encryptMessages": {
|
||||
"type": "boolean",
|
||||
"description": "If true then messages in this mailbox are encrypted",
|
||||
"default": false
|
||||
},
|
||||
"ip": {
|
||||
"type": "string",
|
||||
"description": "IP address for the logs "
|
||||
|
@ -2359,7 +2401,10 @@
|
|||
"description": "ID of the Mailbox",
|
||||
"required": true,
|
||||
"schema": {
|
||||
"type": "string"
|
||||
"type": "string",
|
||||
"enum": [
|
||||
"resolve"
|
||||
]
|
||||
}
|
||||
},
|
||||
{
|
||||
|
@ -2427,6 +2472,10 @@
|
|||
"type": "boolean",
|
||||
"description": "Change Mailbox subscription state"
|
||||
},
|
||||
"encryptMessages": {
|
||||
"type": "boolean",
|
||||
"description": "If true then messages in this mailbox are encrypted"
|
||||
},
|
||||
"hidden": {
|
||||
"type": "boolean",
|
||||
"description": "Is the folder hidden or not. Hidden folders can not be opened in IMAP."
|
||||
|
@ -2578,7 +2627,8 @@
|
|||
"description": "If true, then includes metaData in the response",
|
||||
"required": false,
|
||||
"schema": {
|
||||
"type": "boolean"
|
||||
"type": "boolean",
|
||||
"default": false
|
||||
}
|
||||
},
|
||||
{
|
||||
|
@ -2587,7 +2637,8 @@
|
|||
"description": "If true, then includes threadMessageCount in the response. Counters come with some overhead",
|
||||
"required": false,
|
||||
"schema": {
|
||||
"type": "boolean"
|
||||
"type": "boolean",
|
||||
"default": false
|
||||
}
|
||||
},
|
||||
{
|
||||
|
@ -2596,7 +2647,8 @@
|
|||
"description": "How many records to return",
|
||||
"required": false,
|
||||
"schema": {
|
||||
"type": "number"
|
||||
"type": "number",
|
||||
"default": 20
|
||||
}
|
||||
},
|
||||
{
|
||||
|
@ -2607,6 +2659,7 @@
|
|||
"schema": {
|
||||
"type": "object",
|
||||
"format": "any",
|
||||
"default": "desc",
|
||||
"enum": [
|
||||
"asc",
|
||||
"desc"
|
||||
|
@ -2641,7 +2694,8 @@
|
|||
"description": "Current page number. Informational only, page numbers start from 1",
|
||||
"required": false,
|
||||
"schema": {
|
||||
"type": "number"
|
||||
"type": "number",
|
||||
"default": 1
|
||||
}
|
||||
},
|
||||
{
|
||||
|
@ -2830,7 +2884,8 @@
|
|||
"description": "Schedule deletion task",
|
||||
"required": false,
|
||||
"schema": {
|
||||
"type": "boolean"
|
||||
"type": "boolean",
|
||||
"default": false
|
||||
}
|
||||
},
|
||||
{
|
||||
|
@ -2839,7 +2894,8 @@
|
|||
"description": "Skip archived messages",
|
||||
"required": false,
|
||||
"schema": {
|
||||
"type": "boolean"
|
||||
"type": "boolean",
|
||||
"default": false
|
||||
}
|
||||
},
|
||||
{
|
||||
|
@ -2894,15 +2950,18 @@
|
|||
},
|
||||
"unseen": {
|
||||
"type": "boolean",
|
||||
"description": "Is the message unseen or not"
|
||||
"description": "Is the message unseen or not",
|
||||
"default": false
|
||||
},
|
||||
"flagged": {
|
||||
"type": "boolean",
|
||||
"description": "Is the message flagged or not"
|
||||
"description": "Is the message flagged or not",
|
||||
"default": false
|
||||
},
|
||||
"draft": {
|
||||
"type": "boolean",
|
||||
"description": "Is the message a draft or not"
|
||||
"description": "Is the message a draft or not",
|
||||
"default": false
|
||||
},
|
||||
"raw": {
|
||||
"type": "string",
|
||||
|
@ -3251,7 +3310,8 @@
|
|||
"description": "If true, then includes threadMessageCount in the response. Counters come with some overhead",
|
||||
"required": false,
|
||||
"schema": {
|
||||
"type": "boolean"
|
||||
"type": "boolean",
|
||||
"default": false
|
||||
}
|
||||
},
|
||||
{
|
||||
|
@ -3260,7 +3320,8 @@
|
|||
"description": "How many records to return",
|
||||
"required": false,
|
||||
"schema": {
|
||||
"type": "number"
|
||||
"type": "number",
|
||||
"default": 20
|
||||
}
|
||||
},
|
||||
{
|
||||
|
@ -3305,7 +3366,8 @@
|
|||
"description": "Current page number. Informational only, page numbers start from 1",
|
||||
"required": false,
|
||||
"schema": {
|
||||
"type": "number"
|
||||
"type": "number",
|
||||
"default": 1
|
||||
}
|
||||
}
|
||||
],
|
||||
|
@ -3528,7 +3590,8 @@
|
|||
"description": "If true then replaces cid links",
|
||||
"required": false,
|
||||
"schema": {
|
||||
"type": "boolean"
|
||||
"type": "boolean",
|
||||
"default": false
|
||||
}
|
||||
},
|
||||
{
|
||||
|
@ -3537,7 +3600,8 @@
|
|||
"description": "If true then marks message as seen",
|
||||
"required": false,
|
||||
"schema": {
|
||||
"type": "boolean"
|
||||
"type": "boolean",
|
||||
"default": false
|
||||
}
|
||||
},
|
||||
{
|
||||
|
@ -3875,7 +3939,8 @@
|
|||
"description": "If true then sends the original attachment back in string format with correct encoding.",
|
||||
"required": false,
|
||||
"schema": {
|
||||
"type": "boolean"
|
||||
"type": "boolean",
|
||||
"default": false
|
||||
}
|
||||
}
|
||||
],
|
||||
|
@ -4145,7 +4210,8 @@
|
|||
"description": "How many records to return",
|
||||
"required": false,
|
||||
"schema": {
|
||||
"type": "number"
|
||||
"type": "number",
|
||||
"default": 20
|
||||
}
|
||||
},
|
||||
{
|
||||
|
@ -4178,6 +4244,7 @@
|
|||
"schema": {
|
||||
"type": "object",
|
||||
"format": "any",
|
||||
"default": "desc",
|
||||
"enum": [
|
||||
"asc",
|
||||
"desc"
|
||||
|
@ -4201,7 +4268,8 @@
|
|||
"description": "Current page number. Informational only, page numbers start from 1",
|
||||
"required": false,
|
||||
"schema": {
|
||||
"type": "number"
|
||||
"type": "number",
|
||||
"default": 1
|
||||
}
|
||||
},
|
||||
{
|
||||
|
@ -4480,7 +4548,8 @@
|
|||
"description": "How many records to return",
|
||||
"required": false,
|
||||
"schema": {
|
||||
"type": "number"
|
||||
"type": "number",
|
||||
"default": 20
|
||||
}
|
||||
},
|
||||
{
|
||||
|
@ -4511,7 +4580,8 @@
|
|||
"description": "Current page number. Informational only, page numbers start from 1",
|
||||
"required": false,
|
||||
"schema": {
|
||||
"type": "number"
|
||||
"type": "number",
|
||||
"default": 1
|
||||
}
|
||||
},
|
||||
{
|
||||
|
@ -4679,7 +4749,8 @@
|
|||
"description": "How many records to return",
|
||||
"required": false,
|
||||
"schema": {
|
||||
"type": "number"
|
||||
"type": "number",
|
||||
"default": 20
|
||||
}
|
||||
},
|
||||
{
|
||||
|
@ -4710,7 +4781,8 @@
|
|||
"description": "Current page number. Informational only, page numbers start from 1",
|
||||
"required": false,
|
||||
"schema": {
|
||||
"type": "number"
|
||||
"type": "number",
|
||||
"default": 1
|
||||
}
|
||||
},
|
||||
{
|
||||
|
@ -4828,7 +4900,8 @@
|
|||
},
|
||||
"disabled": {
|
||||
"type": "boolean",
|
||||
"description": "If true then this filter is ignored"
|
||||
"description": "If true then this filter is ignored",
|
||||
"default": false
|
||||
},
|
||||
"metaData": {
|
||||
"type": "object",
|
||||
|
@ -5361,7 +5434,8 @@
|
|||
"description": "If not true then skips entries with a TTL set",
|
||||
"required": false,
|
||||
"schema": {
|
||||
"type": "boolean"
|
||||
"type": "boolean",
|
||||
"default": false
|
||||
}
|
||||
},
|
||||
{
|
||||
|
@ -5435,7 +5509,8 @@
|
|||
},
|
||||
"generateMobileconfig": {
|
||||
"type": "boolean",
|
||||
"description": "If true then result contains a mobileconfig formatted file with account config"
|
||||
"description": "If true then result contains a mobileconfig formatted file with account config",
|
||||
"default": false
|
||||
},
|
||||
"ttl": {
|
||||
"type": "number",
|
||||
|
@ -6127,7 +6202,8 @@
|
|||
"platform",
|
||||
"cross-platform"
|
||||
],
|
||||
"example": "cross-platform"
|
||||
"example": "cross-platform",
|
||||
"default": "cross-platform"
|
||||
},
|
||||
"rpId": {
|
||||
"type": "string",
|
||||
|
@ -6280,7 +6356,8 @@
|
|||
"platform",
|
||||
"cross-platform"
|
||||
],
|
||||
"example": "cross-platform"
|
||||
"example": "cross-platform",
|
||||
"default": "cross-platform"
|
||||
},
|
||||
"rpId": {
|
||||
"type": "string",
|
||||
|
@ -6368,7 +6445,8 @@
|
|||
},
|
||||
"token": {
|
||||
"type": "boolean",
|
||||
"description": "If true response will contain the user auth token"
|
||||
"description": "If true response will contain the user auth token",
|
||||
"default": false
|
||||
},
|
||||
"sess": {
|
||||
"type": "string",
|
||||
|
@ -6503,7 +6581,8 @@
|
|||
},
|
||||
"scope": {
|
||||
"type": "string",
|
||||
"description": "Required scope. One of master, imap, smtp, pop3"
|
||||
"description": "Required scope. One of master, imap, smtp, pop3",
|
||||
"default": "master"
|
||||
},
|
||||
"sess": {
|
||||
"type": "string",
|
||||
|
@ -6567,11 +6646,13 @@
|
|||
},
|
||||
"protocol": {
|
||||
"type": "string",
|
||||
"description": "Application identifier for security logs"
|
||||
"description": "Application identifier for security logs",
|
||||
"default": "API"
|
||||
},
|
||||
"scope": {
|
||||
"type": "string",
|
||||
"description": "Required scope. One of master, imap, smtp, pop3"
|
||||
"description": "Required scope. One of master, imap, smtp, pop3",
|
||||
"default": "master"
|
||||
},
|
||||
"appId": {
|
||||
"type": "string",
|
||||
|
@ -6579,7 +6660,8 @@
|
|||
},
|
||||
"token": {
|
||||
"type": "boolean",
|
||||
"description": "If true then generates a temporary access token that is valid for this user. Only available if scope is \"master\". When using user tokens then you can replace user ID in URLs with \"me\"."
|
||||
"description": "If true then generates a temporary access token that is valid for this user. Only available if scope is \"master\". When using user tokens then you can replace user ID in URLs with \"me\".",
|
||||
"default": false
|
||||
},
|
||||
"sess": {
|
||||
"type": "string",
|
||||
|
@ -6667,7 +6749,8 @@
|
|||
"description": "How many records to return",
|
||||
"required": false,
|
||||
"schema": {
|
||||
"type": "number"
|
||||
"type": "number",
|
||||
"default": 20
|
||||
}
|
||||
},
|
||||
{
|
||||
|
@ -6698,7 +6781,8 @@
|
|||
"description": "Current page number. Informational only, page numbers start from 1",
|
||||
"required": false,
|
||||
"schema": {
|
||||
"type": "number"
|
||||
"type": "number",
|
||||
"default": 1
|
||||
}
|
||||
},
|
||||
{
|
||||
|
@ -7077,7 +7161,8 @@
|
|||
},
|
||||
"encoding": {
|
||||
"type": "string",
|
||||
"description": "Encoding to use to store the attachments"
|
||||
"description": "Encoding to use to store the attachments",
|
||||
"default": "base64"
|
||||
},
|
||||
"contentTransferEncoding": {
|
||||
"type": "string",
|
||||
|
@ -7124,7 +7209,8 @@
|
|||
},
|
||||
"isDraft": {
|
||||
"type": "boolean",
|
||||
"description": "Is the message a draft or not"
|
||||
"description": "Is the message a draft or not",
|
||||
"default": false
|
||||
},
|
||||
"draft": {
|
||||
"type": "object",
|
||||
|
@ -7151,7 +7237,8 @@
|
|||
},
|
||||
"uploadOnly": {
|
||||
"type": "boolean",
|
||||
"description": "If true only uploads the message but does not send it"
|
||||
"description": "If true only uploads the message but does not send it",
|
||||
"default": false
|
||||
},
|
||||
"envelope": {
|
||||
"type": "object",
|
||||
|
@ -7375,7 +7462,8 @@
|
|||
"description": "How many records to return",
|
||||
"required": false,
|
||||
"schema": {
|
||||
"type": "number"
|
||||
"type": "number",
|
||||
"default": 20
|
||||
}
|
||||
},
|
||||
{
|
||||
|
@ -7406,7 +7494,8 @@
|
|||
"description": "Current page number. Informational only, page numbers start from 1",
|
||||
"required": false,
|
||||
"schema": {
|
||||
"type": "number"
|
||||
"type": "number",
|
||||
"default": 1
|
||||
}
|
||||
},
|
||||
{
|
||||
|
@ -7696,7 +7785,8 @@
|
|||
"description": "How many records to return",
|
||||
"required": false,
|
||||
"schema": {
|
||||
"type": "number"
|
||||
"type": "number",
|
||||
"default": 20
|
||||
}
|
||||
},
|
||||
{
|
||||
|
@ -7727,7 +7817,8 @@
|
|||
"description": "Current page number. Informational only, page numbers start from 1",
|
||||
"required": false,
|
||||
"schema": {
|
||||
"type": "number"
|
||||
"type": "number",
|
||||
"default": 1
|
||||
}
|
||||
},
|
||||
{
|
||||
|
@ -8008,6 +8099,7 @@
|
|||
"example": "true",
|
||||
"schema": {
|
||||
"type": "boolean",
|
||||
"default": false,
|
||||
"example": "true"
|
||||
}
|
||||
},
|
||||
|
@ -8017,7 +8109,8 @@
|
|||
"description": "How many records to return",
|
||||
"required": false,
|
||||
"schema": {
|
||||
"type": "number"
|
||||
"type": "number",
|
||||
"default": 20
|
||||
}
|
||||
},
|
||||
{
|
||||
|
@ -8048,7 +8141,8 @@
|
|||
"description": "Current page number. Informational only, page numbers start from 1",
|
||||
"required": false,
|
||||
"schema": {
|
||||
"type": "number"
|
||||
"type": "number",
|
||||
"default": 1
|
||||
}
|
||||
},
|
||||
{
|
||||
|
@ -8121,7 +8215,8 @@
|
|||
},
|
||||
"acme": {
|
||||
"type": "boolean",
|
||||
"description": "If true then private key and certificate are managed automatically by ACME"
|
||||
"description": "If true then private key and certificate are managed automatically by ACME",
|
||||
"default": false
|
||||
},
|
||||
"sess": {
|
||||
"type": "string",
|
||||
|
@ -8170,7 +8265,8 @@
|
|||
"required": true,
|
||||
"example": "example.com",
|
||||
"schema": {
|
||||
"type": "string"
|
||||
"type": "string",
|
||||
"example": "example.com"
|
||||
}
|
||||
},
|
||||
{
|
||||
|
@ -8221,7 +8317,8 @@
|
|||
"required": true,
|
||||
"example": "609d201236d1d936948f23b1",
|
||||
"schema": {
|
||||
"type": "string"
|
||||
"type": "string",
|
||||
"example": "609d201236d1d936948f23b1"
|
||||
}
|
||||
},
|
||||
{
|
||||
|
@ -8270,7 +8367,8 @@
|
|||
"required": true,
|
||||
"example": "609d201236d1d936948f23b1",
|
||||
"schema": {
|
||||
"type": "string"
|
||||
"type": "string",
|
||||
"example": "609d201236d1d936948f23b1"
|
||||
}
|
||||
},
|
||||
{
|
||||
|
@ -8338,7 +8436,8 @@
|
|||
"description": "How many records to return",
|
||||
"required": false,
|
||||
"schema": {
|
||||
"type": "number"
|
||||
"type": "number",
|
||||
"default": 20
|
||||
}
|
||||
},
|
||||
{
|
||||
|
@ -8369,7 +8468,8 @@
|
|||
"description": "Current page number. Informational only, page numbers start from 1",
|
||||
"required": false,
|
||||
"schema": {
|
||||
"type": "number"
|
||||
"type": "number",
|
||||
"default": 1
|
||||
}
|
||||
},
|
||||
{
|
||||
|
@ -8607,7 +8707,23 @@
|
|||
"description": "Key of the Setting",
|
||||
"required": true,
|
||||
"schema": {
|
||||
"type": "string"
|
||||
"type": "string",
|
||||
"enum": [
|
||||
"const:archive:time",
|
||||
"const:max:storage",
|
||||
"const:max:recipients",
|
||||
"const:max:mailboxes",
|
||||
"const:max:rcpt_to",
|
||||
"const:max:forwards",
|
||||
"const:authlog:time",
|
||||
"const:autoreply:interval",
|
||||
"const:asp:limit",
|
||||
"const:max:imap:download",
|
||||
"const:max:pop3:download",
|
||||
"const:max:imap:upload",
|
||||
"const:max:filters",
|
||||
"const:sender:defer_times"
|
||||
]
|
||||
}
|
||||
}
|
||||
],
|
||||
|
@ -9870,7 +9986,8 @@
|
|||
"properties": {
|
||||
"status": {
|
||||
"type": "boolean",
|
||||
"description": "If true, then autoreply is enabled for this address"
|
||||
"description": "If true, then autoreply is enabled for this address",
|
||||
"default": true
|
||||
},
|
||||
"start": {
|
||||
"type": "string",
|
||||
|
@ -10185,6 +10302,11 @@
|
|||
"type": "boolean",
|
||||
"description": "Is the folder hidden or not"
|
||||
},
|
||||
"encryptMessages": {
|
||||
"type": "boolean",
|
||||
"description": "If true then messages in this mailbox are encrypted",
|
||||
"default": false
|
||||
},
|
||||
"total": {
|
||||
"type": "number",
|
||||
"description": "How many messages are stored in this mailbox"
|
||||
|
@ -10206,6 +10328,7 @@
|
|||
"modifyIndex",
|
||||
"subscribed",
|
||||
"hidden",
|
||||
"encryptMessages",
|
||||
"total",
|
||||
"unseen"
|
||||
]
|
||||
|
@ -10273,6 +10396,10 @@
|
|||
"type": "boolean",
|
||||
"description": "Is the folder hidden or not"
|
||||
},
|
||||
"encryptMessages": {
|
||||
"type": "boolean",
|
||||
"description": "If true then messages in this mailbox are encrypted"
|
||||
},
|
||||
"total": {
|
||||
"type": "number",
|
||||
"description": "How many messages are stored in this mailbox"
|
||||
|
@ -10291,6 +10418,7 @@
|
|||
"modifyIndex",
|
||||
"subscribed",
|
||||
"hidden",
|
||||
"encryptMessages",
|
||||
"total",
|
||||
"unseen"
|
||||
]
|
||||
|
@ -10692,7 +10820,8 @@
|
|||
},
|
||||
"encoding": {
|
||||
"type": "string",
|
||||
"description": "Encoding to use to store the attachments"
|
||||
"description": "Encoding to use to store the attachments",
|
||||
"default": "base64"
|
||||
},
|
||||
"contentTransferEncoding": {
|
||||
"type": "string",
|
||||
|
|
|
@ -7,7 +7,7 @@ WildDuck itself is only an IMAP and POP3 server, with simple LMTP support if nee
|
|||
### Scripted install
|
||||
If you have a blank VPS and a free domain name that you can point to that VPS than you can try out the scripted all-included install
|
||||
|
||||
[Installation instructions](https://github.com/nodemailer/wildduck/tree/master/setup)
|
||||
[Installation instructions](https://github.com/zone-eu/wildduck/tree/master/setup)
|
||||
|
||||
Install script installs and configures all required dependencies and services, including Let's Encrypt based certs, to run WildDuck as a mail server.
|
||||
|
||||
|
@ -17,7 +17,7 @@ Tested on a 10\$ DigitalOcean Ubuntu 16.04 instance.
|
|||
### Docker
|
||||
This method can be used on both new or existing servers, no matter the distro. If it supports docker, it will work (amd64 only right now, arm support will be added at a later time). Docker also makes updating or uninstalling all components quite easy.
|
||||
|
||||
[Installation instructions](https://github.com/nodemailer/wildduck-dockerized)
|
||||
[Installation instructions](https://github.com/zone-eu/wildduck-dockerized)
|
||||
|
||||
The `docker-compose.yml` together with the default configuration script will set up all required dependencies and services, including Let's Encrypt based certs, to run WildDuck as a mail server.
|
||||
|
||||
|
@ -29,7 +29,7 @@ Assuming you have MongoDB and Redis running somewhere.
|
|||
#### Step 1\. Get the code from github
|
||||
|
||||
```
|
||||
$ git clone https://github.com/nodemailer/wildduck.git
|
||||
$ git clone https://github.com/zone-eu/wildduck.git
|
||||
$ cd wildduck
|
||||
```
|
||||
|
||||
|
@ -43,7 +43,7 @@ $ npm install --production
|
|||
|
||||
#### Step 3\. Run the server
|
||||
|
||||
To use the [default config](https://github.com/nodemailer/wildduck/blob/master/config/default.toml) file, run the following:
|
||||
To use the [default config](https://github.com/zone-eu/wildduck/blob/master/config/default.toml) file, run the following:
|
||||
|
||||
```
|
||||
node server.js
|
||||
|
@ -56,7 +56,7 @@ values that you want to change):
|
|||
node server.js --config=/etc/wildduck.toml
|
||||
```
|
||||
|
||||
> For additional config options, see the _wild-config_ [documentation](https://github.com/nodemailer/wild-config).
|
||||
> For additional config options, see the _wild-config_ [documentation](https://github.com/zone-eu/wild-config).
|
||||
|
||||
#### Step 4\. Create a user account
|
||||
|
||||
|
@ -71,7 +71,7 @@ The easiest way to setup wildduck with a docker image is given below, for more d
|
|||
the [in-depth page on the Docker](in-depth/docker.md).
|
||||
|
||||
|
||||
A docker hub image built using the [Dockerfile](https://github.com/nodemailer/wildduck/blob/master/Dockerfile) in the repo is also available
|
||||
A docker hub image built using the [Dockerfile](https://github.com/zone-eu/wildduck/blob/master/Dockerfile) in the repo is also available
|
||||
|
||||
To pull the latest pre-built image of wildduck:
|
||||
|
||||
|
@ -84,7 +84,7 @@ It is also possible to pull a specific version of wildduck by specifying the ver
|
|||
```
|
||||
docker pull nodemailer/wildduck:1.20
|
||||
```
|
||||
To run the docker image using the [default config](https://github.com/nodemailer/wildduck/blob/master/config/default.toml), and `mongodb` and `redis` from the host machine, use:
|
||||
To run the docker image using the [default config](https://github.com/zone-eu/wildduck/blob/master/config/default.toml), and `mongodb` and `redis` from the host machine, use:
|
||||
```
|
||||
docker run --network=host nodemailer/wildduck
|
||||
```
|
||||
|
|
|
@ -190,7 +190,7 @@ SyncState *
|
|||
Sync it:
|
||||
`mbsync -a`
|
||||
|
||||
[0]: https://github.com/nodemailer/wildduck/blob/master/setup/README.md
|
||||
[0]: https://github.com/zone-eu/wildduck/blob/master/setup/README.md
|
||||
[1]: https://toolbox.googleapps.com/apps/checkmx/check?domain=yourserver.com&dkim_selector=
|
||||
[2]: https://www.mail-tester.com/
|
||||
[3]: http://www.appmaildev.com/en/dkim/
|
||||
|
|
|
@ -5,7 +5,7 @@ WildDuck is able to manage SNI certificates with Let's Encrypt or any other ACME
|
|||
Requirements to use auto-renewing SNI certificates:
|
||||
|
||||
- SNI certificates are used by IMAP, POP3, WildDuck API, and SMTP servers. MX and Webmail servers are not covered by this.
|
||||
- Each server that a SNI hostname resolves to must have either WildDuck API or [ACME agent](https://github.com/nodemailer/wildduck/blob/b46293aba8a112842431336f9c62557b6c66d971/config/acme.toml#L23) running on port 80
|
||||
- Each server that a SNI hostname resolves to must have either WildDuck API or [ACME agent](https://github.com/zone-eu/wildduck/blob/b46293aba8a112842431336f9c62557b6c66d971/config/acme.toml#L23) running on port 80
|
||||
- When using SNI you still have to set up some default certificates in the config file. These could be self-signed though as WildDuck prefers SNI certs whenever possible
|
||||
- You must register ACME SNI certificates via [/certs](https://docs.wildduck.email/api/#operation/updateTLSCertificate) API endpoint with the following configuration:
|
||||
|
||||
|
|
|
@ -20,12 +20,12 @@ The following docker env variables are available inside the container:
|
|||
|
||||
|
||||
## Running wildduck using Docker
|
||||
The image is configured to use the [default config file](https://github.com/nodemailer/wildduck/blob/master/config/default.toml)
|
||||
The image is configured to use the [default config file](https://github.com/zone-eu/wildduck/blob/master/config/default.toml)
|
||||
```
|
||||
docker run nodemailer/wildduck
|
||||
```
|
||||
This is likely to fail due to `mongodb` and `redis` not present in `localhost` inside the container. To pass custom configuration options/files to wildduck inside the docker image, the following two strategies can be used:
|
||||
1. Pass `CMD_ARGS` to configure options using [wild-config](https://github.com/nodemailer/wild-config)
|
||||
1. Pass `CMD_ARGS` to configure options using [wild-config](https://github.com/zone-eu/wild-config)
|
||||
|
||||
To set a custom `mongo` and `redis` host, and configure the `FQDN` and the domain for receiving emails:
|
||||
```bash
|
||||
|
@ -41,7 +41,7 @@ This is likely to fail due to `mongodb` and `redis` not present in `localhost` i
|
|||
nodemailer/wildduck
|
||||
```
|
||||
|
||||
More details available at the [wild-config](https://github.com/nodemailer/wild-config) documentation.
|
||||
More details available at the [wild-config](https://github.com/zone-eu/wild-config) documentation.
|
||||
2. Mount a Docker volume with a custom configuration file:
|
||||
|
||||
To replace the default config folder (`/wildduck/config`) inside the docker image
|
||||
|
|
|
@ -2,7 +2,7 @@
|
|||
|
||||
## Logging
|
||||
|
||||
WildDuck sends gelf-formatted log messages to a Graylog server. Set `log.gelf.enabled=true` in [config](https://github.com/nodemailer/wildduck/blob/2019fd9db6bce1c3167f08e363ab4225b8c8a296/config/default.toml#L59-L66) to use it. Also make sure that the same Gelf settings are set for _zonemta-wildduck_ and _haraka-plugin-wildduck_ in order to get consistent logs about messages throughout the system.
|
||||
WildDuck sends gelf-formatted log messages to a Graylog server. Set `log.gelf.enabled=true` in [config](https://github.com/zone-eu/wildduck/blob/2019fd9db6bce1c3167f08e363ab4225b8c8a296/config/default.toml#L59-L66) to use it. Also make sure that the same Gelf settings are set for _zonemta-wildduck_ and _haraka-plugin-wildduck_ in order to get consistent logs about messages throughout the system.
|
||||
|
||||
> Graylog logging replaces previously used 'messagelog' database collection
|
||||
|
||||
|
|
|
@ -4,9 +4,9 @@
|
|||
<meta charset="UTF-8">
|
||||
<title>wildduck - IMAP/POP3 server built with Node.js and MongoDB</title>
|
||||
<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1" />
|
||||
<link rel="shortcut icon" href="https://raw.githubusercontent.com/nodemailer/wildduck/master/assets/favicon.ico">
|
||||
<link rel="icon" sizes="192x192" href="https://raw.githubusercontent.com/nodemailer/wildduck/master/assets/favicon-192x192.png">
|
||||
<link rel="mask-icon" href="https://raw.githubusercontent.com/nodemailer/wildduck/master/graphics/wildduck-mono.svg" color="#004d40">
|
||||
<link rel="shortcut icon" href="https://raw.githubusercontent.com/zone-eu/wildduck/master/assets/favicon.ico">
|
||||
<link rel="icon" sizes="192x192" href="https://raw.githubusercontent.com/zone-eu/wildduck/master/assets/favicon-192x192.png">
|
||||
<link rel="mask-icon" href="https://raw.githubusercontent.com/zone-eu/wildduck/master/graphics/wildduck-mono.svg" color="#004d40">
|
||||
<meta name="description" content="IMAP/POP3 server built with Node.js and MongoDB">
|
||||
<meta name="viewport" content="width=device-width, user-scalable=no, initial-scale=1.0, maximum-scale=1.0, minimum-scale=1.0">
|
||||
<link rel="stylesheet" href="//cdn.jsdelivr.net/npm/docsify/themes/vue.css">
|
||||
|
@ -25,14 +25,14 @@
|
|||
<script>
|
||||
window.$docsify = {
|
||||
name: 'WildDuck',
|
||||
repo: 'https://github.com/nodemailer/wildduck',
|
||||
logo: "https://raw.githubusercontent.com/nodemailer/wildduck/master/assets/duck.png",
|
||||
repo: 'https://github.com/zone-eu/wildduck',
|
||||
logo: "https://raw.githubusercontent.com/zone-eu/wildduck/master/assets/duck.png",
|
||||
auto2top: true,
|
||||
loadSidebar: true,
|
||||
maxLevel: 4,
|
||||
subMaxLevel: 2,
|
||||
plugins: [
|
||||
EditOnGithubPlugin.create("https://github.com/nodemailer/wildduck/blob/master/docs/")
|
||||
EditOnGithubPlugin.create("https://github.com/zone-eu/wildduck/blob/master/docs/")
|
||||
]
|
||||
}
|
||||
</script>
|
||||
|
|
|
@ -99,7 +99,7 @@ body {
|
|||
|
||||
<tr style="font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; box-sizing: border-box; font-size: 14px; margin: 0;">
|
||||
<td class="content-block" style="font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; box-sizing: border-box; font-size: 14px; vertical-align: top; margin: 0; padding: 0 0 20px;" valign="top">
|
||||
This message was generated and inserted to this mailbox from the <a href="https://github.com/nodemailer/wildduck/tree/master/emails">/emails</a> folder using the default template. Also note the duck image, it is included in the message as an embedded attachment.
|
||||
This message was generated and inserted to this mailbox from the <a href="https://github.com/zone-eu/wildduck/tree/master/emails">/emails</a> folder using the default template. Also note the duck image, it is included in the message as an embedded attachment.
|
||||
</td>
|
||||
</tr>
|
||||
|
||||
|
@ -116,7 +116,7 @@ body {
|
|||
<table width="100%" style="font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; box-sizing: border-box; font-size: 14px; margin: 0;">
|
||||
<tr style="font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; box-sizing: border-box; font-size: 14px; margin: 0;">
|
||||
<td class="aligncenter content-block" style="font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; box-sizing: border-box; font-size: 12px; vertical-align: top; color: #999; text-align: center; margin: 0; padding: 0 0 20px;"
|
||||
align="center" valign="top">Check out <a href="https://github.com/nodemailer/wildduck" style="font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; box-sizing: border-box; font-size: 12px; color: #999; text-decoration: underline; margin: 0;">WildDuck</a> on
|
||||
align="center" valign="top">Check out <a href="https://github.com/zone-eu/wildduck" style="font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; box-sizing: border-box; font-size: 12px; color: #999; text-decoration: underline; margin: 0;">WildDuck</a> on
|
||||
Github.</td>
|
||||
</tr>
|
||||
</table>
|
||||
|
|
|
@ -6,4 +6,4 @@ This message was generated and inserted to this mailbox from the /emails folder
|
|||
|
||||
Your friends from the WildDuck team
|
||||
|
||||
– Check out WildDuck on Github: https://github.com/nodemailer/wildduck
|
||||
– Check out WildDuck on Github: https://github.com/zone-eu/wildduck
|
||||
|
|
|
@ -3,7 +3,7 @@
|
|||
//
|
||||
// Thanks to Forward Email
|
||||
// <https://forwardemail.net>
|
||||
// <https://github.com/nodemailer/wildduck/issues/711>
|
||||
// <https://github.com/zone-eu/wildduck/issues/711>
|
||||
// tag XAPPLEPUSHSERVICE aps-version 2 aps-account-id 0715A26B-CA09-4730-A419-793000CA982E aps-device-token 2918390218931890821908309283098109381029309829018310983092892829 aps-subtopic com.apple.mobilemail mailboxes (INBOX Notes)
|
||||
//
|
||||
|
||||
|
|
|
@ -60,15 +60,15 @@ class IMAPComposer extends Transform {
|
|||
);
|
||||
}
|
||||
|
||||
// <https://github.com/nodemailer/wildduck/issues/563>
|
||||
// <https://github.com/nodemailer/wildduck/pull/564
|
||||
// <https://github.com/zone-eu/wildduck/issues/563>
|
||||
// <https://github.com/zone-eu/wildduck/pull/564
|
||||
if (typeof compiled === 'object') {
|
||||
this.push(compiled);
|
||||
this.push('\r\n');
|
||||
this.push(compiled);
|
||||
this.push('\r\n');
|
||||
} else if (typeof compiled === 'string') {
|
||||
this.push(Buffer.from(compiled + '\r\n', 'binary'));
|
||||
this.push(Buffer.from(compiled + '\r\n', 'binary'));
|
||||
} else {
|
||||
return done(new TypeError('"compiled" was not an object or string'));
|
||||
return done(new TypeError('"compiled" was not an object or string'));
|
||||
}
|
||||
|
||||
done();
|
||||
|
|
|
@ -3,7 +3,7 @@
|
|||
//
|
||||
// Thanks to Forward Email
|
||||
// <https://forwardemail.net>
|
||||
// <https://github.com/nodemailer/wildduck/issues/711>
|
||||
// <https://github.com/zone-eu/wildduck/issues/711>
|
||||
// tag XAPPLEPUSHSERVICE aps-version 2 aps-account-id 0715A26B-CA09-4730-A419-793000CA982E aps-device-token 2918390218931890821908309283098109381029309829018310983092892829 aps-subtopic com.apple.mobilemail mailboxes (INBOX Notes)
|
||||
//
|
||||
|
||||
|
@ -26,5 +26,5 @@ module.exports = server => (accountID, deviceToken, subTopic, mailboxes, session
|
|||
mailboxes
|
||||
);
|
||||
|
||||
return callback(new Error('Not implemented, see <https://github.com/nodemailer/wildduck/issues/711>'));
|
||||
return callback(new Error('Not implemented, see <https://github.com/zone-eu/wildduck/issues/711>'));
|
||||
};
|
||||
|
|
|
@ -22,5 +22,5 @@ mongod --version
|
|||
echo "HOSTNAME: $HOSTNAME"
|
||||
|
||||
echo -e "-- Installing ${RED}npm globally${NC} (workaround)"
|
||||
# See issue https://github.com/nodemailer/wildduck/issues/82
|
||||
# See issue https://github.com/zone-eu/wildduck/issues/82
|
||||
npm install npm -g
|
||||
|
|
|
@ -19,7 +19,7 @@ rm -rf /etc/wildduck
|
|||
|
||||
# fresh install
|
||||
cd /var/opt
|
||||
git clone --bare https://github.com/nodemailer/wildduck.git
|
||||
git clone --bare https://github.com/zone-eu/wildduck.git
|
||||
|
||||
# create update hook so we can later deploy to this location
|
||||
hook_script wildduck
|
||||
|
|
|
@ -20,7 +20,7 @@ rm -rf /opt/haraka
|
|||
|
||||
# fresh install
|
||||
cd /var/opt
|
||||
git clone --bare https://github.com/nodemailer/haraka-plugin-wildduck.git
|
||||
git clone --bare https://github.com/zone-eu/haraka-plugin-wildduck.git
|
||||
echo "#!/bin/bash
|
||||
git --git-dir=/var/opt/haraka-plugin-wildduck.git --work-tree=/opt/haraka/plugins/wildduck checkout "\$3" -f
|
||||
cd /opt/haraka/plugins/wildduck
|
||||
|
|
|
@ -22,7 +22,7 @@ rm -rf /etc/zone-mta
|
|||
# fresh install
|
||||
cd /var/opt
|
||||
git clone --bare https://github.com/zone-eu/zone-mta-template.git zone-mta.git
|
||||
git clone --bare https://github.com/nodemailer/zonemta-wildduck.git
|
||||
git clone --bare https://github.com/zone-eu/zonemta-wildduck.git
|
||||
|
||||
# create update hooks so we can later deploy to this location
|
||||
hook_script zone-mta
|
||||
|
|
|
@ -79,6 +79,6 @@ echo "server {
|
|||
}
|
||||
}" > "/etc/nginx/sites-available/$HOSTNAME"
|
||||
|
||||
#See issue https://github.com/nodemailer/wildduck/issues/83
|
||||
#See issue https://github.com/zone-eu/wildduck/issues/83
|
||||
$SYSTEMCTL_PATH start nginx
|
||||
$SYSTEMCTL_PATH reload nginx
|
||||
|
|
|
@ -35,7 +35,7 @@ Run the following commands as root user. Before actually starting _install.sh_ y
|
|||
> Run the following commands as `root`
|
||||
|
||||
```bash
|
||||
wget -O - https://raw.githubusercontent.com/nodemailer/wildduck/master/setup/get_install.sh | bash
|
||||
wget -O - https://raw.githubusercontent.com/zone-eu/wildduck/master/setup/get_install.sh | bash
|
||||
```
|
||||
|
||||
```bash
|
||||
|
|
|
@ -3,7 +3,7 @@
|
|||
BRANCH="${1:-master}"
|
||||
|
||||
# This script downloads all the installation files.
|
||||
BASEURL="https://raw.githubusercontent.com/nodemailer/wildduck/$BRANCH/setup/"
|
||||
BASEURL="https://raw.githubusercontent.com/zone-eu/wildduck/$BRANCH/setup/"
|
||||
|
||||
## declare an array
|
||||
declare -a arr=(
|
||||
|
|
Loading…
Add table
Reference in a new issue