Forutsetninger
Installasjonsprosedyre
Konfigurasjon
Konklusjon
I denne opplæringen lærer du hvordan du installerer sSMTP , en enkel videresendingsserver.
Mailtrap.io tilbyr en falsk e-postserver for utviklere. Bruk den til å sende rapporter eller e-poster under utviklingsfasen til reelle adresser, men fange dem opp på Mailtrap.io (de blir aldri levert til den endelige mottakeren) og se umiddelbart hvordan HTML-e-posten din gjengis eller hvordan en ny CTO-knapp skiller seg ut.
Ved å integrere sSMTP og Mailtrap, kan din Ubuntu Development VPS bruke den samme e-postsendingsserveren til generelle e-postformål, som cron-rapportering av fullføring.
På denne måten kan du teste applikasjonen din med ekte e-postadresser og få en følelse av hvordan den oppfører seg på klientsiden, alt uten å oversvømme dine personlige eller kollegaers e-postkontoer.
Forutsetninger
- Vultr VPS med Ubuntu 16.04 installert og oppdatert.
- Mailtrap.io-konto.
- En ikke-root sudo-bruker .
- Tekstredigering etter eget valg, vi bruker
nano.
- Sikkerhetskopier eller et øyeblikksbilde av din nåværende installasjon.
Installasjonsprosedyre
Logg inn på din VPS som en vanlig bruker. Gjør deg selv til administrator ved å utstede følgende.
sudo su
Bekreft det deretter med passordet ditt. Installer sSMTP-pakken for serversiden med mutt som e-postklient for testformål.
apt install ssmtp mutt
Konfigurasjon
Nå må du få det til å fungere med mailtrapkontoen din.
Du trenger legitimasjon og servernavn. I vårt tilfelle er serveren smtp.mailtrap.iomed port 2525.
Det er to filer vi redigerer. Først, mens du fortsatt er logget på som root, rediger konfigurasjonsfilen.
nano /etc/ssmtp/ssmtp.conf
Som standard ser det ut som følgende tekst.
# Config file for sSMTP sendmail
#
# The person who gets all mail for userids < 1000
# Make this empty to disable rewriting.
root=postmaster
# The place where the mail goes. The actual machine name is required no
# MX records are consulted. Commonly mailhosts are named mail.domain.com
mailhub=mail
# Where will the mail seem to come from?
#rewriteDomain=
# The full hostname
hostname=example.com
# Are users allowed to set their own From: address?
# YES - Allow the user to specify their own From: address
# NO - Use the system generated From: address
#FromLineOverride=YES
På dette tidspunktet kan du redigere oppføringene for å matche dine egne verdier eller bare erstatte hele innholdet med din spesifikke informasjon. Oppføringene med store bokstaver inneholder dine faktiske data. USERNAME@EXAMPLE.COMer e-posten du ønsker å sende e-postene fra. MAILTRAP_USERNAMEog MAILTRAP_PASSWORDgenereres for deg på Mailtrap.io. Begge er lange, tilfeldige strenger. Slå det opp i Mailtrap-innboksen din under SMTP Settings.
root=USERNAME@EXAMPLE.COM
mailhub=smtp.mailtrap.io:2525
AuthUser=MAILTRAP_USERNAME
AuthPass=MAILRTRAP_PASSWORD
FromLineOverride=Yes
Lagre filen. Med nano trykk " Ctrl-X" og bekreft med " Y".
Den andre filen som må redigeres er for å kartlegge lokale brukerkontoer til eksterne e-postadresser, omvendt aliasing. Ta opp filen.
nano /etc/ssmtp/revaliases
Legg til oppføringene dine på slutten slik at det ser omtrent ut som denne teksten.
# sSMTP aliases
#
# Format: local_account:outgoing_address:mailhub
#
# Example: root:your_login@your.domain:mailhub.your.domain[:port]
# where [:port] is an optional port number that defaults to 25.
root:USERNAME@EXAMPLE.COM:smtp.mailtrap.io:2525
username:USERNAME@EXAMPLE.COM:smtp.mailtrap.io:2525
I hovedsak skal systemet sende alle e-postene fra den lokale kontoen rootsom e-postbruker USERNAME@EXAMPLE.COMvia mailtrapserveren. Skriv inn så mange brukere du trenger, hver på sin egen linje. Hvis du bare trenger rootå sende ut meldinger, er det bare å utelate andre linjer. Du kan komme tilbake senere og legge til brukere etter behov.
Lagre filen. Med nano trykk " Ctrl-X" og bekreft med " Y".
Du er ferdig. Du vil kanskje se det i aksjon ved å sende deg selv en e-post. For å gjøre det, lag meldingen din og send den.
echo "This is the body" | mutt -s "Hello World" SEND_TO_USERNAME@EXAMPLE.COM
Logg på Mailtrap-kontoen din og sjekk Demo-innboksen. Posten burde ventet der allerede.
Konklusjon
Til slutt bytter du terminaløkten fra roottilbake til den vanlige brukeren.
exit
Legg eventuelt MAILTO=SEND_TO_USERNAME@EXAMPLE.COMtil i crontab. For å gjøre en rask test, la oss si, sjekke undermappene i /homemappen din hvert minutt, rediger crontab.
crontab -e
Velg redaktøren din om nødvendig og legg til/rediger disse linjene på slutten slik at den ligner følgende tekst.
# Edit this file to introduce tasks to be run by cron.
#
# Each task to run has to be defined through a single line
# indicating with different fields when the task will be run
# and what command to run for the task
#
# To define the time you can provide concrete values for
# minute (m), hour (h), day of month (dom), month (mon),
# and day of week (dow) or use '*' in these fields (for 'any').#
# Notice that tasks will be started based on the cron's system
# daemon's notion of time and timezones.
#
# Output of the crontab jobs (including errors) is sent through
# email to the user the crontab file belongs to (unless redirected).
#
# For example, you can run a backup of all your user accounts
# at 5 a.m every week with:
# 0 5 * * 1 tar -zcf /var/backups/home.tgz /home/
#
# For more information see the manual pages of crontab(5) and cron(8)
#
# m h dom mon dow command
mailto=SEND_TO_USERNAME@EXAMPLE.COM
* * * * * ls /home
Dette kjører ls /homehvert minutt og fordi det er en MAILTOoppføring lagt til, sender svaret til den adressen. Du kan lære mer om crontab-tabeller her .
Lagre den ved utgang. Forvent en e-post i Mailtrap hvert minutt.