Předpoklady
Postup instalace
Konfigurace
Závěr
V tomto tutoriálu se naučíte, jak nainstalovat sSMTP , jednoduchý server pro přeposílání.
Mailtrap.io nabízí falešný e-mailový server pro vývojáře. Použijte jej k odesílání zpráv nebo e-mailů během vývojové fáze na skutečné adresy, ale zachyťte je na Mailtrap.io (nikdy nejsou doručeny konečnému příjemci) a okamžitě uvidíte, jak je váš HTML e-mail vykreslen nebo jak vyniká nové tlačítko CTO.
Díky integraci sSMTP a Mailtrap může vaše Ubuntu Development VPS používat stejný server pro odesílání e-mailů pro obecné poštovní účely, jako je hlášení dokončení úlohy cron.
Tímto způsobem můžete otestovat svou aplikaci se skutečnými e-mailovými adresami a získat pocit, jak se chová na straně klienta, a to vše bez zahlcení vašich osobních účtů nebo poštovních účtů spolupracovníků.
Předpoklady
- Vultr VPS s nainstalovaným a aktualizovaným Ubuntu 16.04.
- Účet Mailtrap.io.
- Uživatel sudo bez oprávnění root .
- Textový editor dle vašeho výběru, my použijeme
nano
.
- Záloha nebo snímek vaší aktuální instalace.
Postup instalace
Přihlaste se do svého VPS jako běžný uživatel. Udělejte ze sebe správce vydáním následujícího.
sudo su
Poté jej potvrďte svým heslem. Nainstalujte balíček sSMTP na straně serveru s mutt jako poštovního klienta pro účely testování.
apt install ssmtp mutt
Konfigurace
Nyní musíte zajistit, aby to fungovalo s vaším mailtrap
účtem.
Budete potřebovat své přihlašovací údaje a názvy serverů. V našem případě je server smtp.mailtrap.io
s portem 2525
.
Existují dva soubory, které upravujeme. Nejprve, když jste stále přihlášeni jako root, upravte konfigurační soubor.
nano /etc/ssmtp/ssmtp.conf
Ve výchozím nastavení vypadá jako následující text.
# 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
V tomto okamžiku můžete upravit položky tak, aby odpovídaly vašim vlastním hodnotám, nebo jen nahradit celý obsah vašimi konkrétními informacemi. Záznamy s velkými písmeny obsahují vaše skutečná data. USERNAME@EXAMPLE.COM
je e-mail, ze kterého chcete odesílat e-maily. MAILTRAP_USERNAME
a MAILTRAP_PASSWORD
jsou pro vás generovány na Mailtrap.io. Oba jsou dlouhé, náhodné řetězce. Vyhledejte to ve své schránce Mailtrap pod SMTP Settings
.
root=USERNAME@EXAMPLE.COM
mailhub=smtp.mailtrap.io:2525
AuthUser=MAILTRAP_USERNAME
AuthPass=MAILRTRAP_PASSWORD
FromLineOverride=Yes
Uložte soubor. S nano stiskněte " Ctrl-X
" a potvrďte pomocí " Y
".
Druhý soubor, který je potřeba upravit, je pro mapování místních uživatelských účtů na externí e-mailové adresy, zpětný aliasing. Vytáhněte soubor.
nano /etc/ssmtp/revaliases
Přidejte své položky na konec, aby to vypadalo jako tento text.
# 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
Systém by měl v podstatě odesílat všechny e-maily z místního účtu root
jako uživatel e-mailu USERNAME@EXAMPLE.COM
přes mailtrap
server. Zadejte tolik uživatelů, kolik potřebujete, každý na svém řádku. Pokud potřebujete root
pouze odesílat zprávy, vynechejte ostatní řádky. Můžete se vrátit později a přidat uživatele podle potřeby.
Uložte soubor. S nano stiskněte " Ctrl-X
" a potvrďte pomocí " Y
".
Jsi hotový. Možná to budete chtít vidět v akci zasláním e-mailu. Chcete-li to provést, vytvořte zprávu a odešlete ji.
echo "This is the body" | mutt -s "Hello World" SEND_TO_USERNAME@EXAMPLE.COM
Přihlaste se ke svému účtu Mailtrap a zkontrolujte svou schránku Demo. Pošta by tam už měla čekat.
Závěr
Nakonec přepněte relaci terminálu root
zpět na běžného uživatele.
exit
Volitelně přidejte MAILTO=SEND_TO_USERNAME@EXAMPLE.COM
do crontab. Chcete-li provést rychlý test, řekněme, že /home
každou minutu kontrolujete podsložky ve vaší složce, upravte crontab.
crontab -e
V případě potřeby vyberte svůj editor a přidejte/upravte tyto řádky na konci tak, aby se podobaly následujícímu textu.
# 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
To běží ls /home
každou minutu a protože je MAILTO
přidán záznam, odešle odpověď na tuto adresu. Více o crontabových tabulkách se dozvíte zde .
Uložte si to při výstupu. Očekávejte e-mail v Mailtrapu každou minutu.