i blogginnlegget Beste GRATIS SMTP-Servere, berørte vi de skybaserte løsningene for sending av e-post. Dette er ganske vanlig for alle størrelser av prosjekter. Men hva om du ikke vil bruke E-postoverføringstjenestene Til Gmail SMTP eller dens alternativer? I denne artikkelen lærer vi deg hvordan du konfigurerer en lokal SMTP-server og blir kvitt eventuelle e-postavhengigheter.
trenger du virkelig EN SMTP-server?
Bruk av en utgående SMTP-server er den tradisjonelle metoden for å sende e-post. En alternativ løsning er å omgå SMTP-serveren og sende direkte til destinasjonen. Det er Kjent Som Direkte Send, og du kan bruke den gjennom bestemte e-programmer. Direkte Send er ikke veldig pålitelig skjønt, og her er hvorfor:
- den kan ikke brukes hvis port 25 er blokkert av INTERNETT-LEVERANDØREN.
- det er uegnet for bulk e-post på grunn av flere tilkoblinger til mange forskjellige servere.
- det kan ikke sende ikke-personlig e-post.
- det kan blokkeres av e-postfiltre fordi e-post ikke sendes fra en vanlig SMTP-server.
La Oss sette Direkte Sende bort. Hva du kan være interessert i er hvorfor du ville kjøre DIN EGEN SMTP-server.
Fordeler Og ulemper med en lokal SMTP-server
Fordeler | Ulemper |
---|---|
|
|
noen skybaserte løsninger som Mailgun og SendPulse gir alle fordelene ovenfor også. Men alle disse funksjonene er betalt, og du må fortsatt stole på en tredjepartstjeneste. I stedet kan du konfigurere EN SMTP-server på datamaskinen ved hjelp av en bestemt programvare.
Krav til en lokal SMTP-server
det er ingen spesifikke krav så langt. Likevel bør du være forberedt på følgende:
- Noen Internett-Leverandører kan blokkere port 25. Du kan løse dette ved å kontakte DIN ISP-leverandør og lære om begrensningene de kan pålegge. Du må også be om en riktig DNS-server og tillatelse TIL mx-postoppløsning.
- for bulk e-post, bør du sannsynligvis velge et domene og en fast IP-adresse knyttet til det – dette vil øke motstanden mot spamfiltre.
Hurtig smtp-serveroppsett
la oss nå gjøre jobben. Siden DU skal sette OPP EN SMTP-server på datamaskinen din, er det viktig å vite hvilket OS som brukes. Derfor vurderer vi tre måter å gjøre dette på for macOS, Windows og Linux.
Viktig merknad: hvis du sender test-e-poster til den virkelige e-postadressen, finner du dem kanskje ikke i innboksen. Ikke glem å sjekke spam-mappen. ESPs som Gmail, Yahoo og andre er mistenkelige for nye postoverføringsagenter.
for macOS
de nyeste versjonene av macOS x leveres forhåndsinstallert Med Postfix-en standard e-postserver. Så alt du trenger å gjøre er å justere smtp-serverkonfigurasjonen som følger:
Postfix config file
- Postfix hovedkonfigurasjonsfilen er den første til å jobbe med. Kjør:
sudo vim /etc/postfix/main.cf
- Fortell Postfix hvilket navn Den skal bruke til å identifisere seg til andre e-postservere. Legg til følgende linjer:
myhostname = john.example.commyorigin = example.com
Hvis ditt lokale brukernavn Er John, posten vil synes å være Fra [email protected].
- relay host er maskinen som vil godta post etter godkjenning og videresende dem TIL SMTP-serveren.
relayhost=mail.example.com:25
- DU må aktivere SASL med en ekstra konfigurasjonsfil, der passordet er lagret.
smtp_sasl_auth_enable = yessmtp_sasl_password_maps = hash:/etc/postfix/saslpasswd
- Denne linjen betyr At Postfix bare vil bruke tls-krypterte tilkoblinger.
smtp_tls_security_level = encrypt
- her er hvordan
main.cf
ser ut i sin helhet:
myhostname = john.example.commyorigin = example.comrelayhost=mail.example.com:25smtp_sasl_auth_enable = yessmtp_sasl_password_maps = hash:/etc/postfix/saslpasswdsmtp_tls_security_level = encrypt
- Lagre filen med:
sudo postmap /etc/postfix/main.cf
Fil med sasl-passord
- Opprett
sasl_passwd
– filen:
sudo vim /etc/postfix/sasl_passwd
- Legg til følgende linje:
mail.example.com:25 [email protected]:
- Lagre filen med:
sudo postmap /etc/postfix/sasl_passwd
- og start Postfix På Nytt:
sudo postfix reload
den lokale SMTP-serveren er klar. Prøv det ut ved å sende en test e-post:
date | mail -s "Test email" [email protected]
Merk: denne oppsettflyten er egnet for ikke-macOS-maskiner som har en vanlig Postfix-demon.
For Linux
De Fleste Linux-distribusjoner leveres med de to vanligste smtp-implementeringene: Sendmail og Postfix. Sendmail har ganske komplisert design og er mindre sikker; derfor valgte Vi Postfix igjen.
Installasjon
hvis Du Ikke Har Postfix på maskinen, må du installere Den først. Du trenger også postpakken Mailutils, som inkluderer programmer som Er nødvendige For At Postfix skal fungere:
sudo apt install mailutils postfix
I Postfix-Konfigurasjonsvinduet må du velge internett-Postkonfigurasjonen. Til slutt må du angi navnet på systemposten. Det bør være det samme som navnet du tilordnet domenenavnet som peker til serveren din. La oss bruke example.com.
Konfigurasjon
la Oss nå konfigurere Postfix for å behandle forespørsler om å sende e-post fra localhost. For dette må du justere hovedkonfigurasjonsfilen main.cf
:
sudo nano /etc/postfix/main.cf
Rull ned til linjen inet_interfaces = all
og erstatt den med inet_interfaces = loopback-only
du må også endre mydestination
, som angir listen over domener. Det skal se slik ut:
mydestination = $myhostname, localhost.$example.com, $example.com
Lagre filen og start Postfix på Nytt med:
sudo systemctl restart postfix
på slutten, prøv å sende en test e-post:
echo "Test email body" | mail -s "Test email subject line" receipient's_email_address
For Windows
det finnes flere programvarealternativer for å sette OPP EN SMTP-server På Windows, inkludert Mailen Og Apache James. Men vi har valgt den mest populære, kalt hMailServer.
Installasjon
Last ned den nyeste versjonen her, og installer den. I begynnelsen av installasjonen må du være oppmerksom på følgende:
- i Vinduet Velg Komponenter må du kontrollere at full installasjon er valgt. Server og Administrative komponenter må kontrolleres.
- kontroller den innebygde databasemotoren I Vinduet velg databaseserver.
- opprett et passord for standardbrukeren i vinduet hMailServer-Sikkerhet.
når installert, kjør hMailServer, og la oss nå konfigurere det.
Konfigurasjon
- Klikk Koble til i startvinduet og skriv inn passordet du konfigurerte under installasjonen.
- Klikk På Legg til domene og skriv inn domenenavnet ditt i det tilsvarende feltet. Forresten, kan du bruke en falsk domenenavn siden den virkelige er ikke nødvendig å sende e-post. Men i dette tilfellet, sørg for at det falske domenet faktisk ikke eksisterer. Klikk På Lagre, og du vil se domenet ditt opprettet i venstre fane.
- Velg Kontoer-mappen i venstre fane og klikk Legg til… for å konfigurere en. Alt du trenger å gjøre her er å skrive inn et navn i Adressefeltet. Dette vil sette opp din e-postadresse. Eventuelt kan du angi et passord. Klikk På Lagre og gå til Innstillingene i venstre fane.
- Utvid Tråden Innstillinger og velg Protokoller. Fjern MERKET FOR POP3 OG IMAP. For mer om disse protokollene, les vårt blogginnlegg IMAP vs POP3 vs SMTP. Klikk På Lagre.
- velg Nå Avansert i Innstillingstråden og skriv inn localhost I Standarddomenefeltet i høyre fane. Klikk På Lagre. For Å ende Opp Med De Avanserte innstillingene, velg Auto-ban og fjern merket For aktivert. Klikk På Lagre.
- til slutt utvider Du Verktøytråden og velger Diagnostikk. Velg domenet du vil kjøre tester på, og klikk På Start. Vi er ikke interessert i alle testene, Bare Samle serverdetaljer og Test utgående port. Disse skal være merket grønt.
Det er det. Nå kan du sende din test e-post. Dette kan gjøres Med PowerShell-det er raskt og enkelt. For mer om dette, les vårt blogginnlegg Send E-Post fra PowerShell. Kjør følgende linje (ikke glem å legge inn dataene dine):
Send-MailMessage -To "<recipient's email address>" -From "<your email address>" -Subject "Your email subject" -Body "Your email body text" -Credential "<your username>" -SmtpServer "127.0.0.1" -Port 25
i popup-vinduet må du skrive inn passordet ditt.
er EN SMTP-server bra for testing?
i de fleste tilfeller konfigurerer folk lokale SMTP-servere for testformål. Hvis du utvikler en app som sender e-post, må du teste denne funksjonen, og en ekte SMTP-server som kjører på din lokale maskin, kan synes å være et godt alternativ. Men, er det? På den ene siden er det ikke vanskelig å installere og konfigurere en lokal SMTP-server. Det er imidlertid en mye bedre løsning.
hvis Du bruker Mailtrap til testing, får du et avansert verktøy basert på en falsk SMTP-server. Det betyr at appen din vil sende e-post, men vil faktisk ikke levere dem. Din utgående e-post vil ende opp I Mailtrap Demo innboksen. Så, du trenger ikke å bekymre deg for ekte e-postmottakere og sjekke spam-mappen hver gang du kjører tester. Ingen installasjon er nødvendig, i det hele tatt. Alt du trenger å gjøre er å oppdatere SMTP-innstillingene med Mailtrap-legitimasjon. Alternativt kan du kopiere og lime inn en bruksklar kodebit. Ulike integrasjoner er tilgjengelige for de vanligste rammene og programmeringsspråkene. Hvis du vil ha mer informasjon om andre fordeler og muligheter, kan du lese Startveiledningen For Mailtrap.
å bryte opp
Kjører en lokal e-postserver Kan noen ganger være en smerte. Det kreves mye kunnskap og innsats for å oppnå god e-postleveranse ved hjelp av DIN EGEN SMTP-server. Kanskje det er et godt alternativ for testformål, Men Mailtrap, eller andre e-testverktøy, vil gjøre det bedre. Så, trenger du faktisk en lokal SMTP-server? Du er den eneste som kan svare på det. Lykke til!