Knowledge base

Sending through proxies

entries in this scenario: 23
client<proxy>criticalDirectiveThe sending address the proxy must use; together with server, these are the block’s two required lines.enable-source-ip-limits-on-sending-ip<domain>criticalDirectiveImportant when sending through a proxy: the local address and the one the receiver sees are different.server<proxy>criticalDirectiveWhere the node connects instead of the receiving server; together with client, these are the block’s two required lines.smtp-proxy-source-hostGlobalcriticalDirectiveThe vendor’s way to send through a proxy — local address, proxy, client address and greeting name in one line.disabled-source-ip-notify<domain>DirectiveThe only thing that makes a quiet mechanism noticeable: a message arrives both on disabling and on re-enabling.include-tlv<proxy>DirectiveAdds a field with the queue domain to the PROXY header; works only with the second protocol version.protocol-version<proxy>DirectiveThe HAProxy header version, 1 or 2; if not set, it is taken from the sending address, then from the node.proxy-include-tlvGlobalDirectiveAdds a field with the queue domain to the PROXY header; requires the second protocol version.retry-attempts<proxy>DirectiveThe number of connection attempts to the proxy before moving on to the next one in the list; the default is one, the ceiling is ten.source-ip-max-connect-rate<domain>DirectiveNot how many connections to hold, but how often to open them — for each address separately.source-ip-max-msg-rate<domain>DirectiveThe main one in the family: the manual directly names it for those who have several IPs in one sending address.source-ip-max-smtp-out<domain>DirectiveSplits the queue limit by address: each address matching the mask gets a number of its own.use-proxyGlobalDirectiveA list of proxy blocks in backup order; the second is used only when the first did not respond.proxy-protocolGlobalDirectiveThe HAProxy header version, 1 or 2; the default is the first.source-ip-max-data-volume-rate<domain>DirectiveThe only one in the family that counts what was delivered rather than attempts; without a suffix the number reads as bytes.A named proxy and three levels of its settingscriticalMechanismThe block carries the proxy address, the external sending address, the protocol version, the field type and the number of attempts; the first two lines are required.The sending address — what it is made ofcriticalMechanismA named set of everything that is a property of the address: which IP the message leaves from, how the node introduces itself, what it signs with and how fast it sends.External addresses on one machine, nodes insidecriticalMechanismNodes sit on internal addresses and go out through a proxy that holds all the external sending addresses.The sender names the stream for each messagecriticalMechanismThe message carries the name of the stream it should be sent through — the choice is made by the submitting program, not by the node configuration.Cloud restrictionsMechanismClouds restrict outbound mail on port 25 until you ask them to lift the limit, and mailbox providers treat their address ranges with suspicion.The node takes the stream whose address matches the connection addressMechanismThe source default accepts a reserved value instead of a stream name — then the node chooses the stream whose sending address matches the address the connection arrived at.<proxy>Configuration blockA named block with the proxy address and the external sending address; both lines are mandatory, and there can be several blocks.disable sourcecriticalCommandThere is an option to bring it back automatically after an interval — without it the address stays disabled forever.