Postfix /etc/postfix/main.cf

Authentic ๐Ÿ“‹ Debian 13 (Trixie) 89 lines

File Info

Size
89 lines
MD5
9c11b8a9d5780f0477ae069411333875
SHA256
630ccb845d1f3f7aa4010012a51fc3fb12b9b7664836723edbf3a0879dc01274

Quick Commands

curl:
curl https://exampleconfig.com/api/v1/config/original/9c11b8a9d5780f0477ae069411333875?hint=main.cf
wget:
wget -O main.cf https://exampleconfig.com/api/v1/config/original/9c11b8a9d5780f0477ae069411333875?hint=main.cf
/etc/postfix/main.cf
# See /usr/share/postfix/main.cf.dist for a commented, more complete version

# See http://www.postfix.org/COMPATIBILITY_README.html
compatibility_level = 3.9

# Which domain that locally-originated mail appears to come from.
# Debian policy suggests to read this value from /etc/mailname.
#XX needs a review in postinst&config
#myorigin = /etc/mailname
#myorigin = $mydomain
myorigin = $myhostname

# Text that follows the 220 code in the SMTP server's greeting banner.
# You MUST specify $myhostname at the start due to an RFC requirement.
smtpd_banner = $myhostname ESMTP $mail_name (Debian)

# IP protocols to use: ipv4, ipv6, or all
# (set this explicitly so `post-install upgrade-configuration' wont complain)
inet_protocols = all

# List of "trusted" SMTP clients (maptype:mapname allowed) that have more
# privileges than "strangers".  If mynetworks is not specified (the default),
# mynetworks_style is used to compute its value.
#mynetworks_style = class
#mynetworks_style = subnet
mynetworks_style = host
#
mynetworks = 127.0.0.0/8 [::ffff:127.0.0.0]/104 [::1]/128

# Uncomment the next line to generate "delayed mail" warnings
#delay_warning_time = 4h

# List of domains (maptype:mapname allowed) that this machine considers
# itself the final destination for.
mydestination = $myhostname, ba899532fddb, localhost.localdomain, , localhost

# Maximum size of a user mailbox
mailbox_size_limit = 0

# Optional external command to use instead of mailbox delivery.  If set,
# you must set up an alias to forward root mail to a real user.
#mailbox_command = /usr/bin/procmail
#mailbox_command = /usr/bin/procmail -a "$EXTENSION"
mailbox_command = 

# List of alias maps to use to lookup local addresses.
# Per Debian Policy it should be /etc/aliases.
alias_maps = hash:/etc/aliases

# List of alias maps to make indexes on, when running newaliases.
alias_database = hash:/etc/aliases

# Notify (or not) local biff service when new mail arrives.
# Rarely used these days.
biff = no

# Separator between user name and address extension (user+foo@domain)
#recipient_delimiter = +
recipient_delimiter = +

# A host to send "other" mail to
#relayhost = $mydomain
#relayhost = [gateway.example.com]
#relayhost = [ip.add.re.ss]:port
#relayhost = uucphost
relayhost = 

# Where to look for Cyrus SASL configuration files.  Upstream default is unset
# (use compiled-in SASL library default), Debian Policy says it should be
# /etc/postfix/sasl.
cyrus_sasl_config_path = /etc/postfix/sasl

# SMTP server RSA key and certificate in PEM format
smtpd_tls_key_file = /etc/ssl/private/ssl-cert-snakeoil.key
smtpd_tls_cert_file = /etc/ssl/certs/ssl-cert-snakeoil.pem
# SMTP Server security level: none|may|encrypt
smtpd_tls_security_level = may

# List of CAs for SMTP Client to trust
# Prefer this over _CApath when smtp is running chrooted
smtp_tls_CAfile = /etc/ssl/certs/ca-certificates.crt
# SMTP Client TLS security level: none|may|encrypt|...
smtp_tls_security_level = may
# SMTP Client TLS session cache
smtp_tls_session_cache_database = btree:${data_directory}/smtp_scache
smtpd_relay_restrictions = permit_mynetworks permit_sasl_authenticated defer_unauth_destination
myhostname = ba899532fddb
inet_interfaces = all

How to Install Postfix

Alpine Linux

sudo apk add postfix

Debian

sudo apt update && sudo apt install postfix

Red Hat Enterprise Linux

sudo yum install postfix

Ubuntu

sudo apt update && sudo apt install postfix

Configuration File Location

File Path
/etc/postfix/main.cf
Directory
/etc/postfix/
Significance
System-wide configuration directory
Description
Files in /etc/ contain system-wide configuration settings that affect all users.

Complete Postfix Configuration Guide

What is main.cf?
Download the original 'main.cf' (main.cf) configuration file from a fresh Postfix installation on Debian 13 (Trixie). This is the factory-default mail server configuration, essential for email system recovery, anti-spam setup, and understanding secure mail relay settings.
Technical Details
Located at '/etc/postfix/main.cf', this 89-line file controls SMTP authentication, TLS encryption, spam filtering, mail routing, and delivery policies. Powers email infrastructure for millions of domains and handles everything from personal mail servers to enterprise email systems processing thousands of messages daily.
Common Configuration Question
How do you configure Postfix for secure mail delivery, spam prevention, and high availability on Debian 13?
Why Use This Configuration?
This default configuration includes SPF/DKIM support, TLS encryption, and anti-spam measures. Critical for email administrators, system administrators, and DevOps engineers managing production mail infrastructure.

Frequently Asked Questions

When should I use this main.cf file?

Use this original configuration file when you need to restore Postfix to its default state after misconfiguration, during fresh installations, or as a baseline for customization. It's particularly useful for troubleshooting when your current config isn't working properly.

How do I restore Postfix to default settings?

Download this file and replace your current configuration at /etc/postfix/main.cf. Make sure to backup your existing configuration first, then restart the Postfix service to apply the changes.

Is this main.cf file secure for production use?

This is the factory-default configuration that ships with Postfix on Debian 13 (Trixie). While it provides a secure baseline, you should review and customize security settings based on your specific production requirements and compliance needs.

What's the difference between this and other OS versions?

This configuration is specifically from Debian 13 (Trixie). Different operating systems and versions may have slightly different default settings, security patches, or feature availability. Check the compatibility section above for other OS versions.

Can I use this configuration file for Postfix troubleshooting?

Yes, this original configuration is excellent for troubleshooting. Compare it with your current settings to identify modifications that might be causing issues, or temporarily replace your config with this one to isolate problems.