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
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 [2019/05/25 23:50] (current)
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 - important 
 +postconf -e 'relayhost = [192.168.1.151]' 
 + 
 +# configure - probably already defaults (or set to localhost) 
 +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 113:
 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 149:
 ====== 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 159:
 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 166:
 <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.1475638041.txt.gz
  • Last modified: 2019/05/25 23:50
  • (external edit)