kirjoittaja on valinnut Vapaan ja Avoimen Lähdekoodin Rahasto vastaanottaa lahjoituksen osana Kirjoittaa Lahjoituksia ohjelma.
Johdanto
Postfix on sähköpostin välitysohjelma (MTA), sovellus voidaan lähettää ja vastaanottaa sähköpostia. Se voidaan konfiguroida niin, että sitä voidaan käyttää sähköpostien lähettämiseen vain paikallisella sovelluksella., Tämä on hyödyllistä tilanteissa, kun haluat säännöllisesti lähettää sähköposti-ilmoituksia apps tai yksinkertaisesti on paljon lähtevää liikennettä, että kolmannen osapuolen sähköpostipalvelun tarjoaja ei salli. Se on myös kevyempi vaihtoehto täysimittaisen SMTP-palvelimen ajamiseen säilyttäen vaaditut toiminnot.
tässä opetusohjelmassa, voit asentaa ja määrittää Postfix kuin lähettää vain SMTP-palvelin. Pyydät myös ilmaisia TLS-varmenteita Let ’ s Encrypt for your domain ja salaat lähtevät sähköpostit niitä käyttäen.
Edeltävät opinnot
- yksi Ubuntu 18.,04 palvelin, joka on perustettu Ubuntu 18.04: n kanssa, mukaan lukien sudo-pääkäyttäjän luominen.
- täysin rekisteröity verkkotunnus. Tämä opetusohjelma käyttää
your_domain
kauttaaltaan. Voit ostaa verkkotunnuksen nimi Namecheap, saat yhden ilmaiseksi Freenom, tai käyttää verkkotunnuksen rekisterinpitäjälle valinta. - a DNS-levy, jossa
your_domain
osoittaa palvelimesi julkista IP-osoitetta. Voit seurata tämän johdannon DigitalOcean DNS lisätietoja siitä, miten lisätä niitä.,
Huomautus: palvelimen isäntänimi ja Pisaran nimi on ottelu your_domain
, koska DigitalOcean asettaa automaattisesti PTR-tietueet Pisaran IP-osoitteen mukaan sen nimi.
Voit tarkistaa palvelimen hostname kirjoittamalla hostname
komentoriville. Ulostulon pitäisi vastata nimeä, jonka annoit pisaralle, kun sitä luotiin.
Vaihe 1-asentamalla Postfix
tässä vaiheessa asennat Postfixin., Nopein tapa on asentaa mailutils
paketti, joka kokoaa Postfix muutamia täydentäviä ohjelmia, jotka voit käyttää testata lähettämällä sähköpostia.
Ensimmäinen, päivitä paketti-tietokanta:
- sudo apt update
asenna Sitten Postfix-komennolla:
- sudo apt install mailutils
loppupuolella asennus, sinulle esitetään kanssa Postfix kokoonpano-ikkuna:
oletusasetus on Internet Site
., Tämä on suositeltu vaihtoehto käyttää tapauksessa, joten paina TAB
ja sitten ENTER
. Jos sinulla on vain nähdä, kuvaus-tekstin, paina TAB
valitse OK
, niin ENTER
.,
Jos se ei näy automaattisesti, suorita seuraava komento käynnistää sitä:
- sudo dpkg-reconfigure postfix
sen Jälkeen, saat toisen kokoonpano nopea koskevat Järjestelmän mail nimi:
Järjestelmän mail nimen on oltava sama kuin nimi, voit määrittää palvelimen, kun luot sen. Kun olet valmis, paina TAB
, jonka jälkeen ENTER
.
olet nyt asentanut Postfixin ja olet valmis aloittamaan sen konfiguroinnin.,
Vaihe 2 — Konfigurointi Postfix
tässä vaiheessa, voit määrittää Postfix lähettää ja vastaanottaa sähköposteja, vain palvelin, johon se on käynnissä—että on, alkaen localhost
.
jotta näin kävisi, Postfix on konfiguroitava kuuntelemaan vain loopback-käyttöliittymää, virtuaalista verkkoliittymää, jota palvelin käyttää kommunikoidakseen sisäisesti. Tehdä muutoksia, sinun täytyy muokata tärkein Postfix kokoonpano tiedosto nimeltä main.cf
, säilytetty etc/postfix
.,
Avaa se muokkausta varten käyttämällä suosikki tekstieditori:
- sudo nano /etc/postfix/main.cf
Etsi seuraavat rivit:
. . .mailbox_size_limit = 0recipient_delimiter = +inet_interfaces = all. . .
Asettaa arvo inet_interfaces
asetus loopback-only
:
. . .mailbox_size_limit = 0recipient_delimiter = +inet_interfaces = loopback-only. . .
Toinen direktiivin sinun täytyy muuttaa on mydestination
, jota käytetään määrittää luettelon verkkotunnuksia, jotka toimitetaan kautta local_transport
mail toimitus liikenne., Oletuksena arvot ovat samanlaisia kuin nämä:
. . .mydestination = $myhostname, your_domain, localhost.com, , localhost. . .
Vaihda rivi näyttää tältä:
. . .mydestination = localhost.$mydomain, localhost, $myhostname. . .
Jos verkkotunnus on todella aliverkkotunnus, ja haluat sähköpostiviestejä, jotka näyttävät siltä kuin ne lähetettiin tärkein verkkotunnuksen, voit lisätä seuraavan rivin lopussa main.cf
:
...masquerade_domains = your_main_domain
valinnainen masquerade_domains
asetus määrittää, mitkä alueet alitoimialue osa on riisuttu pois sähköpostiosoitteeseen.
Kun olet valmis, tallenna ja sulje tiedosto.
Huomautus: Jos olet hosting useita verkkotunnuksia yhdellä palvelimella, muita verkkotunnuksia voi myös olla kulunut Postfix käyttää mydestination
direktiivi.
Sitten, Postfix restart-komennolla:
- sudo systemctl restart postfix
Olet määrittänyt Postfix vain lähettää sähköposteja palvelimelta., Voit nyt testata sitä lähettämällä esimerkkiviestin sähköpostiosoitteeseen.
Vaihe 3 — Testaus SMTP-Palvelin
tässä vaiheessa, voit testata, onko Postfix voi lähettää sähköposteja ulkoisen sähköpostitilin käyttämällä mail
komento, joka on osa mailutils
paketti, että olet asentanut ensimmäisessä vaiheessa.
lähettää testi sähköposti, suorita seuraava komento:
- echo "This is the body of the email" | mail -s "This is the subject line" your_email_address
Voit muuttaa kehon ja sähköpostin aihe mieleisekseen., Muista korvata your_email_address
kelvollisella sähköpostiosoitteella, johon pääset käsiksi.
nyt, tarkista sähköpostiosoite, johon lähetit tämän viestin. Sinun pitäisi nähdä viesti Saapuneet. Jos se ei ole siellä, tarkista roskapostikansiosi. Tässä vaiheessa kaikki lähettämäsi sähköpostit ovat salaamattomia, mikä saa palveluntarjoajat pitämään sitä todennäköisesti roskapostina. Perustat salauksen myöhemmin, vaiheessa 5.,
Jos saat virheilmoituksen siitä mail
komento, tai et ole saanut viestin jälkeen pitkään aikaan, tarkista, että Postfix kokoonpano olet muokannut on voimassa ja että palvelimen nimi ja isäntänimi on määritetty verkkotunnus.
Huomaa, että tämä kokoonpano, osoite From
kenttä testi sähköpostit lähetät tulee olla muodossa your_user_name@your_domain
, jossa your_user_name
on käyttäjätunnus, palvelimen käyttäjä juoksi komento.,
olet nyt lähettänyt sähköpostin palvelimeltasi ja varmistanut, että se on onnistuneesti vastaanotettu. Seuraavassa vaiheessa, voit perustaa sähköpostin Huolinta root
.
Vaihe 4 — Huolinta Järjestelmä Mail
tässä vaiheessa, voit perustaa sähköpostin välitys käyttäjälle root
, niin että järjestelmän luomat viestit, lähettää sen palvelimelle lähetetään edelleen ulkoiseen sähköpostiosoitteeseen.
/etc/aliases
tiedosto sisältää luettelon varajäsenen nimet sähköpostin vastaanottajille., Avaa se muokkausta varten:
- sudo nano /etc/aliases
sen oletuksena tilassa, se näyttää tältä:
# See man 5 aliases for formatpostmaster: root
vain direktiivin hetkellä määrittää, että järjestelmän luomia sähköposteja lähetetään root
.
Lisää seuraava rivi tiedoston loppuun:
...root: your_email_address
tällä rivillä voit määrittää, että sähköpostiviestit lähetetään root
lopulta välitti sähköpostiosoite. Muista korvata your_email_address
henkilökohtaisella sähköpostiosoitteellasi., Kun olet valmis, tallenna ja sulje tiedosto.
muutokset tulevat voimaan, suorita seuraava komento:
- sudo newaliases
Käynnissä newaliases
rakentaa tietokanta aliaksia, että mail
komento käyttötapoja, jotka ovat peräisin config-tiedosto sinulla on vain muokattu.
Testi, joka lähettää sähköposteja root
toimii komennolla:
- echo "This is the body of the email" | mail -s "This is the subject line" root
Sinun pitäisi saada sähköpostia osoitteeseen sähköpostiosoitteesi. Jos se ei ole siellä, tarkista roskapostikansiosi.,
tässä vaiheessa, olet perustanut huolintajärjestelmän luomat viestit sähköpostiosoitteeseesi. Voit nyt, jotta viestin salausta, niin että kaikki sähköpostit palvelin lähettää ovat immuuneja jäljet kuljetuksen ja pidettävä enemmän oikeutettua.
Vaihe 5 — Mahdollistaa SMTP-Salaus
Voit nyt ottaa käyttöön SMTP-salaus pyytämällä ilmainen TLS-varmenne yritetään Salata oman verkkotunnuksen (käyttäen Certbot) ja konfigurointi Postfix käyttää sitä, kun lähetät viestejä.
Ubuntu sisältää certbotin oletuspakkausvarastossaan, mutta voi käydä niin, että se on vanhentunut., Sen sijaan, voit lisätä viralliseen arkistoon komennolla:
- sudo add-apt-repository ppa:certbot/certbot
Painamalla ENTER
kun sinulta kysytään, haluatko hyväksyä. Sitten, päivitä palvelimen package manager välimuisti:
- sudo apt update
Lopuksi, asenna uusin versio Certbot:
- sudo apt install certbot -y
osana ensimmäistä server setup edellytykset, voit asentaa ufw
, mutkaton palomuuri. Sinun täytyy määrittää se sallimaan HTTP-portin 80
, jotta verkkotunnuksen todentaminen voidaan suorittaa., Suorita seuraava komento, jotta se:
- sudo ufw allow 80
lähtö näyttää tältä:
OutputRule addedRule added (v6)
Nyt, että portti on auki, ajaa Certbot saada todistuksen:
- sudo certbot certonly --standalone --rsa-key-size 4096 --agree-tos --preferred-challenges http -d your_domain
Tämä komento tilaukset Certbot antaa varmenteita RSA-avaimen koko on 4096 bittiä, ajaa väliaikainen itsenäinen web-palvelin (--standalone
) tarkastettavaksi, ja tarkistaa, via port 80
(--preferred-challenges http
)., Muista korvata your_domain
verkkotunnuksen ennen käynnissä komennon, ja kirjoita sähköpostiosoitteesi pyydettäessä.
lähtö tulee olemaan samanlainen kuin tämä:
OutputSaving debug log to /var/log/letsencrypt/letsencrypt.logPlugins selected: Authenticator standalone, Installer NoneObtaining a new certificatePerforming the following challenges:http-01 challenge for `your_domain`Waiting for verification...Cleaning up challengesIMPORTANT NOTES: - Congratulations! Your certificate and chain have been saved at: /etc/letsencrypt/live/your_domain/fullchain.pem Your key file has been saved at: /etc/letsencrypt/live/your_domain/privkey.pem Your cert will expire on 2020-07-11. To obtain a new or tweaked version of this certificate in the future, simply run certbot again. To non-interactively renew *all* of your certificates, run "certbot renew" - If you like Certbot, please consider supporting our work by: Donating to ISRG / Let's Encrypt: https://letsencrypt.org/donate Donating to EFF: https://eff.org/donate-le
Kuten kirjoitettu muistiinpanoja, varmenne ja yksityinen avain-tiedosto on tallennettu alle /etc/letsencrypt/live/your_domain
.
Nyt sinulla on todistus, avoin main.cf
editointi:
- sudo nano /etc/postfix/main.cf
Etsi kohta seuraavasti:
Muokkaa se näyttää tältä, korvaa your_domain
verkkotunnuksen tarvittaessa, joka päivittää TLS-asetukset Postfix:
Kun olet valmis, tallenna ja sulje tiedosto.
ota muutokset käyttöön käynnistämällä Postfix:
- sudo systemctl restart postfix
Nyt, yritä lähettää sähköpostia uudestaan:
- echo "This is the body of an encrypted email" | mail -s "This is the subject line" your_email_address
Jälkeen, tarkista antamasi sähköpostiosoite. On mahdollista, että näet viestin postilaatikkoosi välittömästi, koska sähköpostin tarjoajat ovat paljon todennäköisemmin merkki salaamattomia viestejä roskapostiksi.,
voit tarkistaa asiakkaasi sähköpostiviestin TEKNISET TIEDOT nähdäksesi, että viesti on todellakin salattu.
Conclusion
sinulla on nyt Postfixin ylläpitämä vain send-only email server. Kaikkien lähtevien viestien salaaminen on hyvä ensimmäinen askel sähköpostipalvelujen tarjoajille, jotka eivät merkitse viestejäsi roskapostiksi suoraan. Jos teet tämän kehitysaskeleessa, tämän toimenpiteen pitäisi riittää.,
Kuitenkin, jos asiakas käyttää tapauksessa lähettää sähköposteja potentiaalisia sivuston käyttäjiä (kuten vahvistus sähköpostit viesti aluksella sign-up), sinun pitäisi tutkia perustaminen SPF kirjaa, niin että palvelimen sähköpostit ovat vielä todennäköisesti nähdä oikeutettuna.