linux_wiki:configure_a_system_to_forward_all_email_to_a_central_mail_server

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revision Previous revision
Next revision
Previous revision
Next revision Both sides next revision
linux_wiki:configure_a_system_to_forward_all_email_to_a_central_mail_server [2016/10/04 23:27]
billdozor [Null Client Setup]
linux_wiki:configure_a_system_to_forward_all_email_to_a_central_mail_server [2018/05/10 22:41]
billdozor [Null Client Testing]
Line 8: Line 8:
  
 **You will be expected to configure a null client only**. (server that forwards mail but does not receive any) **You will be expected to configure a null client only**. (server that forwards mail but does not receive any)
 +
 +----
 +
 +====== Lab Setup ======
 +
 +The following virtual machines will be used:
 +  * server1.example.com (192.168.1.150) -> Configure SMTP null client (**on the exam**)
 +  * server2.example.com (192.168.1.151) -> Configure central mail server for client testing (**NOT on the exam**)
  
 ---- ----
Line 31: Line 39:
  
 \\ \\
-Edit the main configuration +Configure postfix parameters 
-<code bash> +  * Option A: Use postconf (faster if you have an idea what parameters you need to configure)<code bash># check a setting 
-vim /etc/postfix/main.cf+postconf relayhost
  
-## Set the origin (where mail came from) to the domain variable +check all settings 
-myorigin $mydomain+postconf | grep <keyword> 
 + 
 +configure 
 +postconf -e 'relayhost [192.168.1.151]' 
 +postconf -e 'inet_interfaces = loopback-only' 
 +postconf -e 'mydestination =' 
 +postconf -e 'mydomain = example.com' 
 +</code> 
 +  * Option B: Edit the main configuration<code bash>vim /etc/postfix/main.cf
  
 # Relayhost to forward mail to # Relayhost to forward mail to
 relayhost = [192.168.1.151] relayhost = [192.168.1.151]
  
-# Forward from loopback interfaces and networks only (local system)+# Forward from loopback interfaces
 inet_interfaces = loopback-only inet_interfaces = loopback-only
-mynetworks = 127.0.0.0/8 [::1]/128 
  
 # Configure destination as blank, because we aren't delivering mail locally (only forwarding outgoing) # Configure destination as blank, because we aren't delivering mail locally (only forwarding outgoing)
 mydestination =  mydestination = 
  
-Prevent postfix from putting mail into mail boxes +Configure domain 
-local_transport error: local delivery disabled+mydomain example.com
 </code> </code>
 +
  
 \\ \\
Line 95: Line 111:
 Edit the main configuration file Edit the main configuration file
 <code bash> <code bash>
 +#-- vim directly
 vim /etc/postfix/main.cf vim /etc/postfix/main.cf
  
 +# listening interfaces
 inet_interfaces = all inet_interfaces = all
-inet_protocols = ipv4+ 
 +# Accept mail for these domains
 mydestination = example.com, server2.example.com, server2 mydestination = example.com, server2.example.com, server2
 +
 +#-- postconf method
 + 
 +# check settings
 +postconf | grep inet_
 +postconf | grep mydestination
 + 
 +# configure
 +postconf -e 'inet_interfaces = all'
 +postconf -e 'mydestination = example.com, server2.example.com, server2'
 +</code>
 +
 +\\
 +Check postfix syntax
 +<code bash>
 +postfix check
 </code> </code>
  
Line 112: Line 147:
 ====== Null Client Testing ====== ====== Null Client Testing ======
  
-**From server1**.+**From server1**
  
 Install a mail client (if not already installed) Install a mail client (if not already installed)
Line 122: Line 157:
 Send a test message Send a test message
 <code bash> <code bash>
-echo "This is the subject body" | mail -s "This is a postfix forward test" root@server2.example.com+echo "Did it work?" | mail -s "This is a postfix forward test" root@server2.example.com
 </code> </code>
  
Line 129: Line 164:
 <code bash> <code bash>
 tail -f /var/log/maillog tail -f /var/log/maillog
 +</code>
 +
 +\\
 +**From server2**
 +
 +On the postfix relayhost, check root's mail
 +<code bash>
 +mail
 +</code>
 +
 +----
 +
 +====== Troubleshooting ======
 +
 +On the sending client, to view the mail queue
 +<code bash>
 +postqueue -p
 +</code>
 +
 +\\
 +Flush the sending mail queue after fixing a problem to get rid of stuck messages
 +<code bash>
 +postqueue -f
 +</code>
 +
 +\\
 +If a message is stuck and won't flush, it can be removed
 +<code bash>
 +postsuper -d <queue_id>
 +</code>
 +  * Instead of a single queue_id, you can specify the keyword 'ALL'
 +
 +\\
 +On the receiving server, check the maillog for reasons a message did not deliver
 +<code bash>
 +tail /var/log/maillog
 </code> </code>
  
 ---- ----
  
  • linux_wiki/configure_a_system_to_forward_all_email_to_a_central_mail_server.txt
  • Last modified: 2019/05/25 23:50
  • (external edit)