• The APS Catalog has been deprecated and removed from all Plesk Obsidian versions.
    Applications already installed from the APS Catalog will continue working. However, Plesk will no longer provide support for APS applications.
  • Please be aware: with the Plesk Obsidian 18.0.78 release, the support for the ngx_pagespeed.so module will be deprecated and removed from the sw-nginx package.

Question How to change Outgoing SMTP IP for all domains

AK_learner

Basic Pleskian
Server operating system version
AlmaLinux 8.10
Plesk version and microupdate number
18.0.76 #5
Dear Pleskians, @IgorG & @Sebahat.hadzhi,

How to change Outgoing SMTP IP for all domains?

Because if I change it via the Plesk > Server-wide mail settings > Settings > Outgoing mail mode > Send from the specified IP addresses, it causes the websites IPs to also get changed simultaneously.

How to ONLY change the Outgoing SMTP IP, without causing the websites IPs to be changed?
 
Hi, @AK_learner . That change should not affect DNS records other than MX record (corresponding A record, typically mail.example.com). This is expected behavior to ensure the SPF values match. Changing the smtp_bind_address in /etc/postfix/main.cf directly without updating the MX records will make SPF checks fail because the IP addresses won’t match.

In case other records are updated in your case, kindly provide a screenshot of the current DNS configuration of the domain and if there are any specific steps to reproduce the issue other than changing the Outgoing mail mode to "Send from the specified IP addresses".
 
P.s. I am assuming that you might have the MX record pointed to the main A record of your domain, which would explain why the issue occurs on your end. If that's the case you just need to create an additional A record for a subdomain like mail.example.com and point your MX to it instead.
 
@Sebahat.hadzhi,

Thank you for getting back to me.

I would say, the second assumption of yours is correct: MX records are pointed to domain A records.

I believe the article should be updated, as I would assume many others would have also faced the same issue, as did one person who commented on that article 2 years ago and still there is no response to his query.

Also, can you provide any CLI way to change the MX records for all domains (including Serial key update of DNS zone), if they are pointing to the domain name?
i.e. Domain.com MX Priority Domain.com
instead of Domain.com MX Priority mail.domain.com?

As I have 1000s of domains and updating each one would be very time consuming.
 
Thank you for the feedback. I asked our team to update the article and add a disclaimer highlighting the results of the change.

Regarding the MX update you can do the following.:

1. Export the list of domains:

Code:
plesk bin domain --list > domains.txt

2. Remove current MX records:

Code:
for i in $(cat domains.txt); do   plesk bin dns --del $i -mx "" -mailexchanger $i; done

Please note that this will only work for domain names which MX record is pointed to the corresponding root domain, if the MX record is different, you will get an error, and the MX records of these domains will not be affected.

3. Add new MX records:

Code:
for i in $(cat domains.txt); do   plesk bin dns -a $i -mx "" -mailexchanger mail.$i -priority 10; done

Regarding the Serial key update, I have no better suggestion than:

 
Back
Top