How Can We Help?
Postfix Commands
start and stop postfix
systemctl start|stop|restart|enable postfix
systemctl status postfix
root@gemini:~# systemctl restart postfix
root@gemini:~# systemctl status postfix
● postfix.service – Postfix Mail Transport Agent
Loaded: loaded (/lib/systemd/system/postfix.service; enabled; vendor preset: enabled)
Active: active (exited) since Wed 2022-03-09 12:25:54 UTC; 5s ago
Process: 159667 ExecStart=/bin/true (code=exited, status=0/SUCCESS)
Main PID: 159667 (code=exited, status=0/SUCCESS)
Mar 09 12:25:54 gemini systemd[1]: Starting Postfix Mail Transport Agent…
Mar 09 12:25:54 gemini systemd[1]: Finished Postfix Mail Transport Agent.
root@gemini:~#
Display postfix logfile
tail -f /var/log/mail.log
Send a test email from command line
echo “Test email body” | mail -s “Test Subject” -a “From: you@yourdomain” recipient@example.com
echo “Test email body from gemini” | mail -s “fri 11 march 11PM: Testing from gemini using SMTP” -a “From: kevin@kevwells.com” kevwells@gmail.com
List mails in the queue with postfix
mailq
root@gemini:/etc/postfix# mailq
-Queue ID- –Size– —-Arrival Time—- -Sender/Recipient——-
20D4B9285 15688 Mon Mar 14 14:02:25 www-data@kevwells.com
(connect to smtp.gmail.com[2a00:1450:400c:c07::6d]:25: Network is unreachable)
kevrwells@gmail.com
8F2A39277 5376 Mon Mar 14 10:04:18 kevinrwells@yahoo.com
(connect to smtp.gmail.com[64.233.184.108]:25: Connection timed out)
kevrwells@gmail.com
— 20 Kbytes in 2 Requests.
root@gemini:/etc/postfix# cd
root@gemini:~# mailq
-Queue ID- –Size– —-Arrival Time—- -Sender/Recipient——-
20D4B9285 15688 Mon Mar 14 14:02:25 www-data@kevwells.com
(connect to smtp.gmail.com[2a00:1450:400c:c07::6d]:25: Network is unreachable)
kevrwells@gmail.com
8F2A39277 5376 Mon Mar 14 10:04:18 kevinrwells@yahoo.com
(connect to smtp.gmail.com[64.233.184.108]:25: Connection timed out)
kevrwells@gmail.com
— 20 Kbytes in 2 Requests.
root@gemini:~#
Delete all emails in the postfix queue
postsuper -d ALL
root@gemini:~# postsuper -d ALL
postsuper: Deleted: 2 messages
root@gemini:~#
Remove all mails in the deferred queue
postsuper -d ALL deferred
Remove a particular mail from the queue
postsuper -d mail_id
Remove messages from a particular domain
Obtain the mail queue ID on running the mailq command
mailq | grep domain.com | awk {‘print $1’} | xargs -I{} postsuper -d {}
To list the postqueue
root@gemini:~# postqueue -p
Mail queue is empty
root@gemini:~#
Check your hostname
root@gemini:/etc/postfix# hostname -f
gemini
root@gemini:/etc/postfix#
Locate the postfix configuration directory with postconf
root@gemini:~# postconf | grep config_directory
config_directory = /etc/postfix
root@gemini:~#
Update the postfix lookup table
root@gemini:~# postmap /etc/postfix/virtual
root@gemini:~#
then reload the postfix configuration:
systemctl restart postfix
Run postmap to create the file sasl_passwd as a Berkeley DB file
root@gemini:/var/mail# postmap /etc/postfix/sasl_passwd
root@gemini:/var/mail#
Check postfix active listening ports
ss -lnpt | grep master
root@gemini:/etc/apache2/sites-enabled#
root@gemini:/etc/apache2/sites-enabled# ss -lnpt | grep master
LISTEN 0 100 0.0.0.0:25 0.0.0.0:* users:((“master”,pid=173714,fd=13))
LISTEN 0 100 0.0.0.0:587 0.0.0.0:* users:((“master”,pid=173714,fd=18))
LISTEN 0 100 [::]:25 [::]:* users:((“master”,pid=173714,fd=14))
LISTEN 0 100 [::]:587 [::]:* users:((“master”,pid=173714,fd=19))
root@gemini:/etc/apache2/sites-enabled#