In questo tutorial imparerai come installare sSMTP , un semplice server di inoltro.
Mailtrap.io offre un falso server di posta elettronica per gli sviluppatori. Usalo per inviare rapporti o e-mail durante la fase di sviluppo a indirizzi reali ma intercettali su Mailtrap.io (non vengono mai recapitati al destinatario finale) e vedi immediatamente come viene visualizzata la tua e-mail HTML o come si distingue un nuovo pulsante CTO.
Integrando sSMTP e Mailtrap, il tuo VPS di sviluppo di Ubuntu può utilizzare lo stesso server di invio e-mail per scopi di mailing generale, come i report di completamento del lavoro cron.
In questo modo, sei in grado di testare la tua applicazione con indirizzi e-mail reali e avere un'idea di come si comporta sul lato client, il tutto senza inondare gli account di posta personali o dei colleghi.
Prerequisiti
- Vultr VPS con Ubuntu 16.04 installato e aggiornato.
- Account Mailtrap.io.
- Un utente sudo non root .
- Editor di testo a tua scelta, useremo
nano
.
- Backup o un'istantanea dell'installazione corrente.
Procedura d'installazione
Accedi al tuo VPS come utente normale. Diventa un amministratore emettendo quanto segue.
sudo su
Quindi confermalo con la tua password. Installa il pacchetto sSMTP per il lato server con mutt come client di posta a scopo di test.
apt install ssmtp mutt
Configurazione
Ora devi farlo funzionare con il tuo mailtrap
account.
Avrai bisogno delle tue credenziali e dei nomi dei server. Nel nostro caso, il server è smtp.mailtrap.io
con la porta 2525
.
Ci sono due file che stiamo modificando. Innanzitutto, mentre sei ancora connesso come root, modifica il file di configurazione.
nano /etc/ssmtp/ssmtp.conf
Per impostazione predefinita, sembra il seguente testo.
# 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
A questo punto potresti modificare le voci in modo che corrispondano ai tuoi valori o semplicemente sostituire l'intero contenuto con le tue informazioni specifiche. Le voci in maiuscolo contengono i tuoi dati effettivi. [email protected]
è l'e-mail da cui si desidera inviare le e-mail. MAILTRAP_USERNAME
e MAILTRAP_PASSWORD
vengono generati per te su Mailtrap.io. Entrambi sono stringhe lunghe e casuali. Cerca nella casella Posta in arrivo sotto SMTP Settings
.
[email protected]
mailhub=smtp.mailtrap.io:2525
AuthUser=MAILTRAP_USERNAME
AuthPass=MAILRTRAP_PASSWORD
FromLineOverride=Yes
Salva il file. Con nano premere " Ctrl-X
" e confermare con " Y
".
Il secondo file che deve essere modificato è per mappare gli account degli utenti locali su indirizzi e-mail esterni, aliasing inverso. Visualizza il file.
nano /etc/ssmtp/revaliases
Aggiungi le tue voci alla fine in modo che assomigli a questo testo.
# sSMTP aliases
#
# Format: local_account:outgoing_address:mailhub
#
# Example: root:[email protected]:mailhub.your.domain[:port]
# where [:port] is an optional port number that defaults to 25.
root:[email protected]:smtp.mailtrap.io:2525
username:[email protected]:smtp.mailtrap.io:2525
In sostanza, il sistema dovrebbe inviare tutte le e-mail dall'account locale root
come utente e-mail [email protected]
tramite il mailtrap
server. Inserisci tutti gli utenti di cui hai bisogno, ognuno nella propria riga. Se devi solo root
inviare messaggi, ometti solo altre righe. Puoi tornare più tardi e aggiungere utenti se necessario.
Salva il file. Con nano premere " Ctrl-X
" e confermare con " Y
".
Hai finito. Potresti voler vederlo in azione inviandoti un'email. Per farlo, crea il tuo messaggio e invialo.
echo "This is the body" | mutt -s "Hello World" [email protected]
Accedi al tuo account Mailtrap e controlla la casella di posta Demo. La posta dovrebbe essere già in attesa lì.
Conclusione
Infine, cambia la tua sessione terminale da di root
nuovo all'utente normale.
exit
Facoltativamente, aggiungi [email protected]
al tuo crontab. Per fare un rapido test, diciamo, controllando le sottocartelle nella tua /home
cartella ogni minuto, modifica il crontab.
crontab -e
Scegli il tuo editor se necessario e aggiungi / modifica queste righe alla fine in modo che assomigli al seguente testo.
# 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
[email protected]
* * * * * ls /home
Questo viene eseguito ls /home
ogni minuto e poiché è stata MAILTO
aggiunta una voce, invia la risposta a quell'indirizzo. Puoi saperne di più sulle tabelle crontab qui .
Salvalo all'uscita. Aspettati un'e-mail in Mailtrap ogni minuto.