Inleiding
Postfix is een mail transfer agent (MTA), een toepassing die wordt gebruikt om e-mail te verzenden en te ontvangen. In deze tutorial zullen we Postfix installeren en configureren, zodat het kan worden gebruikt om e — mails te verzenden door alleen lokale toepassingen-dat wil zeggen, die zijn geïnstalleerd op dezelfde server waarop Postfix is geïnstalleerd.
waarom zou u dat willen doen?
Als u al een externe e-mailprovider gebruikt voor het verzenden en ontvangen van e-mails, hoeft u niet uw eigen e-mailserver te draaien. Als u echter een cloudserver beheert waarop u applicaties hebt geïnstalleerd die e-mailmeldingen moeten verzenden, is het uitvoeren van een lokale SMTP-server met alleen verzenden een goed alternatief voor het gebruik van een e-mailprovider van derden of het uitvoeren van een volledige SMTP-server.
in deze tutorial leert u hoe u Postfix installeert en configureert als een send-only SMTP-server.
vereisten
om deze tutorial te volgen, heb je nodig:
-
Eén druppel Ubuntu 16.04 ingesteld met de Ubuntu 16.04 initial setup guide, inclusief het maken van een sudo niet-root gebruiker
-
een geldige domeinnaam, zoals
example.com
, die naar uw server wijst. U kunt dat instellen door deze hostnaam tutorial te volgen
merk op dat de hostnaam van uw server overeenkomt met dit domein of subdomein. U kunt de hostnaam van de server verifiëren door hostname
achter de opdrachtprompt te typen. De uitvoer moet overeenkomen met de naam die u de druppel gaf toen het werd gemaakt.
Stap 1-Postfix installeren
in deze stap leert u hoe u Postfix installeert. De meest efficiënte manier om Postfix en andere programma ‘ s te installeren die nodig zijn voor het testen van e-mail is door het mailutils
pakket te installeren.
eerst de pakketdatabase bijwerken:
- sudo apt-get update
installeer Tot slot Postfix. Het installeren van mailtuils
zal Postfix installeren evenals een paar andere programma ‘ s die nodig zijn om Postfix te laten functioneren.
- sudo apt install mailutils
aan het einde van het installatieproces zal u een venster worden getoond dat precies lijkt op het venster in de afbeelding hieronder. De standaard optie is Internet Site. Dat is de aanbevolen optie voor deze tutorial, dus druk op TAB
, dan ENTER
.
daarna krijgt u een ander venster, net als in de volgende afbeelding. De systeemmailnaam moet dezelfde zijn als de naam die u aan de server hebt toegewezen toen u deze aan het maken was. Als het een subdomein toont zoals subdomain.example.com
, verander het dan in gewoon example.com
. Als u klaar bent, drukt u op TAB
en vervolgens op ENTER
.
nadat de installatie succesvol is voltooid, ga naar stap twee.
Stap 2-Postfix configureren
in deze stap leest u hoe u Postfix configureert om verzoeken te verwerken om e-mails te verzenden alleen vanaf de server waarop het draait, dat wil zeggen vanaf localhost.
daarvoor moet Postfix ingesteld worden om alleen te luisteren op de loopback-interface, de virtuele netwerkinterface die de server gebruikt om intern te communiceren. Om de wijziging aan te brengen, opent u het hoofd postfix configuratiebestand met nano
of uw favoriete teksteditor.
- sudo nano /etc/postfix/main.cf
als het bestand open is, scroll dan naar beneden totdat u de volgende sectie ziet.
. . .mailbox_size_limit = 0recipient_delimiter = +inet_interfaces = all. . .
Verander de regel die inet_interfaces = all
leest in inet_interfaces = loopback-only
.
. . .mailbox_size_limit = 0recipient_delimiter = +inet_interfaces = loopback-only. . .
een andere richtlijn die u moet wijzigen is mydestination
, die wordt gebruikt om de lijst van domeinen te specificeren die worden geleverd via het local_transport
postbezorgingstransport. Standaard zijn de waarden vergelijkbaar met deze:
/etc/postfix/main.cf. . .mydestination = $myhostname, example.com, localhost.com, , localhost. . .
de aanbevolen standaardinstellingen voor dat scenario worden gegeven in het codeblok hieronder, dus wijzig de jouwe om overeen te komen:
/etc/postfix/main.cf. . .mydestination = $myhostname, localhost.$mydomain, $mydomain. . .
sla het bestand op en sluit het.
als u meerdere domeinen host op een enkele server, kunnen de andere domeinen ook worden doorgegeven aan Postfix met behulp van de mydestination
richtlijn. Echter, om Postfix te configureren op een manier die schalen en die geen problemen voor een dergelijke setup impliceert extra configuraties die buiten het bereik van dit artikel.
ten slotte herstart Postfix.
- sudo systemctl restart postfix
Stap 3-testen van de SMTP-Server
in deze stap test U of Postfix e-mails naar een extern e-mailaccount kan verzenden met behulp van het commando mail
, dat deel uitmaakt van het pakket mailutils
dat in Stap 1 is geïnstalleerd.
om een test-e-mail te verzenden, typt u:
- echo "This is the body of the email" | mail -s "This is the subject line" your_email_address
bij het uitvoeren van uw eigen test(s), kunt u de tekst van de hoofdtekst en de onderwerpregel gebruiken zoals het is, of ze naar wens wijzigen. Gebruik echter in plaats van your_email_address
een geldig e-mailadres. Het domein deel kan zijn gmail.com
, fastmail.com
, yahoo.com
, of een andere e-mail service provider die u gebruikt.
Controleer nu het e-mailadres waarop u het testbericht hebt verzonden. U zou het bericht in uw postvak IN moeten zien. Zo niet, controleer dan uw spam folder.
merk op dat met deze configuratie, het adres in het From veld voor de test e-mails die u verzendt [email protected]
zal zijn, waarbij sammy uw Linux gebruikersnaam is en het domeingedeelte de hostnaam van de server is. Als u uw gebruikersnaam wijzigt, verandert ook Het From-adres.
Stap 4 – Forwarding System Mail
het laatste wat we willen instellen is forwarding, dus je krijgt e-mails verzonden naar root op het systeem op je persoonlijke, externe e-mailadres.
om Postfix zo in te stellen dat door het systeem gegenereerde e-mails naar uw e-mailadres worden verzonden, moet u het bestand /etc/aliases
bewerken.
- sudo nano /etc/aliases
de volledige inhoud van het bestand op een standaardinstallatie van Ubuntu 16.04 is als volgt:
# See man 5 aliases for formatpostmaster: root
met die instelling worden systeem gegenereerde e-mails naar de root-gebruiker verzonden. Wat u wilt doen is bewerken, zodat die e-mails worden omgeleid naar uw e-mailadres. Om dat te bereiken, bewerk het bestand, zodat het leest:
/etc/aliases# See man 5 aliases for formatpostmaster: rootroot: your_email_address
vervang your_email_address
door uw persoonlijke e-mailadres. Als u klaar bent, slaat u het bestand op en sluit u het. Voer het volgende commando uit om de wijziging door te voeren:
- sudo newaliases
u kunt nu testen dat het werkt door het verzenden van een e-mail naar de root-account met behulp van:
- echo "This is the body of the email" | mail -s "This is the subject line" root
u dient de e-mail te ontvangen op uw e-mailadres. Zo niet, controleer dan uw spam folder.
conclusie
dat is alles wat nodig is om een send-only e-mailserver op te zetten met Postfix. U kunt een aantal extra stappen te nemen om uw domein te beschermen tegen spammers.
als u meldingen van uw server op één adres wilt ontvangen, is het belangrijk dat e-mails als spam worden gemarkeerd, omdat u ze op de witte lijst kunt plaatsen. Echter, als uw use case is om e-mails te sturen naar potentiële gebruikers van de site (zoals bevestiging e-mails voor een message board sign-up), moet u zeker het opzetten van SPF records en DKIM, zodat e-mails van uw server zijn meer kans om te worden gezien als legitiem.
-
een SPF-Record gebruiken om Spoofing te voorkomen & de betrouwbaarheid van E-mail verbeteren
-
hoe te installeren en configureren DKIM met Postfix op Debian Wheezy hoewel dat artikel is geschreven Voor Debian Wheezy, gelden dezelfde stappen voor Ubuntu 16.04.
indien correct geconfigureerd, maakt dit het moeilijk om spam te verzenden met een adres dat lijkt te komen van uw domein. Het doen van deze extra configuratie stappen zal ook maken het meer kans voor gemeenschappelijke e-mailproviders om e-mails van uw server als legitiem te zien.