Sorry maybe I wasn't elaborate enough:
We host multiple domains on our server and use multiple IP's. The ip ...:2 belongs to another domain, so I don't really want to add that to SPF.
Also, we don't use Plesk DNS.
It is not a bug.
In essence, each domain has it's own "mail server" (in the form of mail.domain.tld, this is a brief explanation of the system behind it).
The solution suggested by
@IgorG is correct: just add the IP to SPF rules in the (general) mail server settings (which apply to all "mail servers" for each domain).
This solution simply results in SPF saying "when IP is belonging to one of your server's IPs, then do [action]" with the action being "allow".
This is exactly in line with what SPF intends to do: a line like
"v=spf1 +a +mx -all"
implies that the (in chronological order, since SPF evaluates mechanisms in order of presence within the SPF line)
- current domains are passed via the +a mechanism,
- domain's MXes are passed via the +mx mechamism,
- all others are prohibited via the -all mechanism.
Note that you do not necessarily have to specify the "+", but it is
highly recommended to be explicit in every SPF rule.
Also note that you actually do not need any ip4:<ip4-address>, ip4:<ip4-network>/<prefix-length>, ip6:<ip6-address> or ip6:<ip6-network>/<prefix-length> mechanism in the SPF rule entered in the (general) mail server settings in Plesk: they can be replaced with the more neutral a and mx mechanisms.
However,
there is another solution if you do not want to add too much flexibility in SPF rules on a Plesk instance.
This solution simply requires that you have access to DNS management at your registrar (!) and
that you add custom TXT records to the domains in question.
The latter solution is
recommended, since it will enable you to do some fine-tuning for individual domains.
A
small tip when using the latter solution (using custom TXT records for SPF rules): apply a general SPF rule in the (general) mail server settings of Plesk.
Those general SPF rules in Plesk would be: v=spf1 +a/24 +mx/24 +ptr ?all include:spf.trusted-forwarder.org (for both SPF local rules and SPF guess rules)
You can then be more specific in the TXT records containing the SPF rules for a specific domain.
The general idea behind this small tip is that the customized SPF rules in the TXT records can do no harm, when not being strict enough.
Hope the above helps a tiny bit.
Regards.........