Create mail address for a web hosting package
A new mail address for one web hosting package - a mailbox, a forward, a catch-all, or one that refuses or deletes mail.
manitu_webhosting_mail_address_create on https://mcp.manitu.de/mcpAnnotations as tools/list sends them
Description for the model
Creates a mail address for a web hosting package of the manitu customer account this connection works in, by its site_id from manitu_webhosting_list, at one of the package's domains. type says what it does: mailbox (mail is kept; needs mailbox.password_hash - bcrypt, "$2b$"/"$2y$" - NEVER ask for or pass a plaintext password: mailbox.password is refused over this connection, a password in a chat is no longer secret; without a hash, the customer creates the mailbox in the customer panel), forward (target_list required), catchall (every address of a domain not set up otherwise - written @example.de; target_list required), reject (mail refused, the sender gets an error) or delete (mail accepted and deleted unread - e.g. for an address that only gets spam). Check first with manitu_webhosting_mail_address_list (text_contains) that the address is free. Refused with a conflict when the package allows no more mailboxes (limit_reached), its mail disk space is almost full (quota_almost_exceeded) or it cannot be changed now (not_configurable). Usable a few minutes later; for a mailbox the answer says how to set up a mail program. Tell the customer what will happen - for a forward or catch-all every target, as mail to an outside address leaves the account - and ask for an explicit yes first.
Arguments
site_idinteger | stringrequiredThe site_id from manitu_webhosting_list - never guess one.
mail_addressstringrequiredThe mail address from manitu_webhosting_mail_address_list, e.g. info@example.de - a catch-all is written "@" and its domain, e.g. @example.de. Never guess one.
typestringrequiredWhat the address does - it cannot be changed later.
descriptionstring | nullThe customer's description, for his own overview. Left out: unchanged (set) or none (create); null or empty: none.
target_listarray of stringWhere mail goes on to - the whole list, it replaces the one there. Forward and catch-all: required, at least one; mailbox: copies besides the mailbox (may be empty); reject and delete: not taken. A catch-all may have one entry "@" and a domain of the package - the same name at that domain. Mail to an address outside manitu leaves the account: name the targets to the customer.
alias_listarray of stringOther addresses whose mail ends up here - the whole list, it replaces the one there. Mailbox and forward only.
greylistingbooleanGreylisting against spam: mail from an unknown sender is accepted only on its second try, minutes later. Mailbox and forward only. Default when created: true.
mailboxobjectThe mailbox - type mailbox only.
mailbox.passwordstringwrite-onlyThe password a mail program logs in with - customer panel and REST only, refused over MCP: never ask for a password in a chat. Kept as a hash only, never shown again. Only one of password, password_hash. 12 to 72 printable ASCII characters, no space at the start or the end, not listed as leaked (pwnedpasswords.com).
mailbox.password_hashstringwrite-onlyThe password as a hash made by the customer - instead of password. A hash can be attacked offline: only for a strong password. Taken: bcrypt ("$2b$" or "$2y$", cost 10 or more).
mailbox.quota_mbinteger | nullDisk space in MB its mail may take, at most the package's; null or 0: no limit of its own. Default when created: the package's.
mailbox.suspendedbooleantrue switches it off without deleting it: no login, mail to it is refused.
mailbox.alias_login_allowedbooleanWhether a mail program may log in with an alias as well. Default when created: false.
Result structuredContent, checked against the schema
mail_addressstringrequiredThe address - what the other mail address tools take. A catch-all is "@" and its domain, e.g. @example.de. Internationalized domains in Unicode.
mail_address_asciistringrequiredThe same address as the mail servers have it (internationalized domains in ASCII, xn--).
typestring | nullrequiredWhat happens to its mail: mailbox - kept, to read with a mail program or webmail; forward - sent on to target_list, nothing kept; catchall - every address of its domain not set up otherwise, sent on to target_list; reject - refused, the sender gets an error; delete - accepted and deleted unread, the sender learns nothing. null: a kind no longer used.
descriptionstring | nullrequiredWhat the customer wrote about it (his description), null if nothing - not its name or user name.
target_listarray of string | nullrequiredWhere its mail goes on to - for a forward and a catch-all where it goes, for a mailbox copies besides the mailbox. An entry "@other.example" (catch-all only) sends to the same name at that domain. null for reject and delete.
alias_listarray of string | nullrequiredOther addresses whose mail ends up here (mailbox and forward only, else null) - they are not addresses of their own.
greylistingboolean | nullrequiredGreylisting against spam: mail from an unknown sender is accepted only on its second try, minutes later. Mailbox and forward only, else null.
created_atstring | nullrequiredWhen it was created.
mailboxobject | nullrequiredThe mailbox - type mailbox only, else null.
mailbox.quota_mbinteger | nullrequiredDisk space in MB its mail may take; null: no limit of its own (the package's applies).
mailbox.suspendedbooleanrequiredSwitched off by the customer: no login, mail to it is refused - kept for later.
mailbox.alias_login_allowedbooleanrequiredA mail program may log in with an alias as well, not only with mail_address.
mailbox.panel_accessbooleanrequiredWith its address and password one may log in to the customer panel - for this mailbox only (password, autoreply, filters). Changed in the customer panel only.
mailbox.autoreply_activebooleanrequiredAn automatic reply (e.g. out of office) is switched on - manitu_webhosting_mail_address_autoreply_get shows it.
mailbox.password_change_recommendedbooleanrequiredThe password is kept in an outdated form - the customer should set a new one.
mailbox.last_login_atstring | nullrequiredIts last login (mail program or webmail), null if never.
mailbox.connectionobjectrequiredmailbox.connection.hoststringrequiredThe server a mail program connects to - for receiving (IMAP, POP3) and sending (SMTP) alike. NOT the MX server of the package.
mailbox.connection.usernamestringrequiredThe user name to log in with - the full mail address; the password is the mailbox's.
mailbox.connection.method_listarray of objectrequiredThe ways to connect, per protocol the one to prefer first - encrypted only, there is no unencrypted way. Receiving: IMAP (mail stays on the server, several devices) or POP3 (mail is fetched); sending: SMTP with login (the same user name and password) - port 587 with STARTTLS where 465 is blocked.
mailbox.connection.method_list[].protocolstringrequiredmailbox.connection.method_list[].portintegerrequiredmailbox.connection.method_list[].securitystringrequiredssl_tls: encrypted from the start (often "SSL/TLS"); starttls: switched to encryption after connecting ("STARTTLS").
mailbox.connection.method_list[].is_recommendedbooleanrequiredAuthentication
One of X-API-Key, Authorization: Bearer … - never more than one in a request. More
Request body JSON; unknown fields are refused
site_idinteger | stringrequiredThe site_id from manitu_webhosting_list - never guess one.
mail_addressstringrequiredThe mail address from manitu_webhosting_mail_address_list, e.g. info@example.de - a catch-all is written "@" and its domain, e.g. @example.de. Never guess one.
typestringrequiredWhat the address does - it cannot be changed later.
descriptionstring | nullThe customer's description, for his own overview. Left out: unchanged (set) or none (create); null or empty: none.
target_listarray of stringWhere mail goes on to - the whole list, it replaces the one there. Forward and catch-all: required, at least one; mailbox: copies besides the mailbox (may be empty); reject and delete: not taken. A catch-all may have one entry "@" and a domain of the package - the same name at that domain. Mail to an address outside manitu leaves the account: name the targets to the customer.
alias_listarray of stringOther addresses whose mail ends up here - the whole list, it replaces the one there. Mailbox and forward only.
greylistingbooleanGreylisting against spam: mail from an unknown sender is accepted only on its second try, minutes later. Mailbox and forward only. Default when created: true.
mailboxobjectThe mailbox - type mailbox only.
mailbox.passwordstringwrite-onlyThe password a mail program logs in with - customer panel and REST only, refused over MCP: never ask for a password in a chat. Kept as a hash only, never shown again. Only one of password, password_hash. 12 to 72 printable ASCII characters, no space at the start or the end, not listed as leaked (pwnedpasswords.com).
mailbox.password_hashstringwrite-onlyThe password as a hash made by the customer - instead of password. A hash can be attacked offline: only for a strong password. Taken: bcrypt ("$2b$" or "$2y$", cost 10 or more).
mailbox.quota_mbinteger | nullDisk space in MB its mail may take, at most the package's; null or 0: no limit of its own. Default when created: the package's.
mailbox.suspendedbooleantrue switches it off without deleting it: no login, mail to it is refused.
mailbox.alias_login_allowedbooleanWhether a mail program may log in with an alias as well. Default when created: false.
Response in data; the rest of the body as on every call
mail_addressstringrequiredThe address - what the other mail address tools take. A catch-all is "@" and its domain, e.g. @example.de. Internationalized domains in Unicode.
mail_address_asciistringrequiredThe same address as the mail servers have it (internationalized domains in ASCII, xn--).
typestring | nullrequiredWhat happens to its mail: mailbox - kept, to read with a mail program or webmail; forward - sent on to target_list, nothing kept; catchall - every address of its domain not set up otherwise, sent on to target_list; reject - refused, the sender gets an error; delete - accepted and deleted unread, the sender learns nothing. null: a kind no longer used.
descriptionstring | nullrequiredWhat the customer wrote about it (his description), null if nothing - not its name or user name.
target_listarray of string | nullrequiredWhere its mail goes on to - for a forward and a catch-all where it goes, for a mailbox copies besides the mailbox. An entry "@other.example" (catch-all only) sends to the same name at that domain. null for reject and delete.
alias_listarray of string | nullrequiredOther addresses whose mail ends up here (mailbox and forward only, else null) - they are not addresses of their own.
greylistingboolean | nullrequiredGreylisting against spam: mail from an unknown sender is accepted only on its second try, minutes later. Mailbox and forward only, else null.
created_atstring | nullrequiredWhen it was created.
mailboxobject | nullrequiredThe mailbox - type mailbox only, else null.
mailbox.quota_mbinteger | nullrequiredDisk space in MB its mail may take; null: no limit of its own (the package's applies).
mailbox.suspendedbooleanrequiredSwitched off by the customer: no login, mail to it is refused - kept for later.
mailbox.alias_login_allowedbooleanrequiredA mail program may log in with an alias as well, not only with mail_address.
mailbox.panel_accessbooleanrequiredWith its address and password one may log in to the customer panel - for this mailbox only (password, autoreply, filters). Changed in the customer panel only.
mailbox.autoreply_activebooleanrequiredAn automatic reply (e.g. out of office) is switched on - manitu_webhosting_mail_address_autoreply_get shows it.
mailbox.password_change_recommendedbooleanrequiredThe password is kept in an outdated form - the customer should set a new one.
mailbox.last_login_atstring | nullrequiredIts last login (mail program or webmail), null if never.
mailbox.connectionobjectrequiredmailbox.connection.hoststringrequiredThe server a mail program connects to - for receiving (IMAP, POP3) and sending (SMTP) alike. NOT the MX server of the package.
mailbox.connection.usernamestringrequiredThe user name to log in with - the full mail address; the password is the mailbox's.
mailbox.connection.method_listarray of objectrequiredThe ways to connect, per protocol the one to prefer first - encrypted only, there is no unencrypted way. Receiving: IMAP (mail stays on the server, several devices) or POP3 (mail is fetched); sending: SMTP with login (the same user name and password) - port 587 with STARTTLS where 465 is blocked.
mailbox.connection.method_list[].protocolstringrequiredmailbox.connection.method_list[].portintegerrequiredmailbox.connection.method_list[].securitystringrequiredssl_tls: encrypted from the start (often "SSL/TLS"); starttls: switched to encryption after connecting ("STARTTLS").
mailbox.connection.method_list[].is_recommendedbooleanrequiredStatuses
200Success.400The request does not match the declared input schema.401No credential was presented, or it was not recognised.403The credential is not permitted to use this operation.500The server failed. Nothing about the request was wrong. Whether a change took effect is not known - check before trying it again.503The channel this operation forwards through is unavailable.