Het hebben van uw server sturen u e-mails is een eenvoudige manier om meldingen van bash-scripts, toepassingen en cron jobs. Command-line e-mail werkt op dezelfde manier als persoonlijke e-mail en is eenvoudig te configureren en te gebruiken.
Hoe Werkt Opdrachtregel E-Mail Werken?
Wanneer is e-mail die langs de buizen van het Internet, is het meestal wordt verzonden via het Simple Mail Transfer Protocol, of SMTP. De server verwerkt verzenden van e-mail is wel een SMTP-server, en veel gratis e-mail providers (Gmail, Yahoo, etc.) SMTP-servers gratis. Dit is groot voor deze use case, als je zal alleen nodig zijn voor het configureren van de command-line app die doet het verzenden.
Deze app heet een Mail Transfer Agent (MTA), en verzorgt het communiceren met de SMTP-server. U zult nodig hebben voor authenticatie van de MTA met de SMTP-server, die gewoonlijk zo eenvoudig als het geven van uw wachtwoord of sleutel. Dan, de MTA zal in staat zijn om te handelen zoals u en versturen van e-mails van je account.
Als u van plan bent over het verzenden van e-mails naar de eindgebruiker, moet u configureren voor meer informatie met uw SMTP-provider. Dit betekent meestal dat de verificatie van het domein met DKIM en SPF authenticatie, die bewijst dat je eigenaar bent van het domein en niet spoofing uw adres. U kunt dit doen met Gmail, maar als je het verzenden van grote hoeveelheden e-mails, je moet met behulp van een business oplossing als Amazon SES.
Het Installeren en Configureren van Postfix
De eenvoudigste oplossing voor de command-line e-mail is het gebruik van Postfix als een MTA, met behulp van een gratis SMTP-server van Gmail. Gmail is een rate-beperkt tot 100 e-mails per dag, en dat is waarschijnlijk genoeg voor eenvoudige e-mailberichten. Als je meer nodig hebt dan dat, kunt u gebruik maken van Amazon SES of SendGrid, die moet beide drop-in vervanging van de Gmail SMTP-server in dit voorbeeld.
Postfix kunt ook een eigen SMTP-server, maar het is moeilijker te configureren, en minder compatibel met externe ontvangers, tenzij u bij het configureren van het domein verifiëren.
Installeren Postfix en libsasl2-modules, een pakket voor het beheren van de SMTP-verificatie van uw distro ‘ s package manager. Voor op Debian gebaseerde systemen als Ubuntu, dat zou worden:
sudo apt-get install postfix libsasl2-modules
Als Postfix installeert, wordt u gevraagd of u voor de configuratie. Op het eerste scherm, selecteer “Internet Site”, die het configureren van Postfix gebruik van SMTP.
Het volgende scherm zal vragen voor uw domeinnaam. U hoeft een domein naam te gebruiken Postfix, maar je zal het nodig is om uw e-mails verstuurd vanaf dat domein naam. In dit voorbeeld, zonder vermelding van de naam van het domein, je e-mails komen van het Gmail-account dat u hebt geconfigureerd voor Postfix.
Vervolgens zult u nodig hebben voor authenticatie van Postfix. U kunt gebruik maken van uw account de Gmail-wachtwoord, dat is fijn als je een nieuwe account aanmaken alleen voor Postfix, maar als u uw persoonlijke account, je wilt een app maakt wachtwoord. Deze manier, het wachtwoord kan op elk moment worden ingetrokken. Opmerking dat u moet twee factor authenticatie ingeschakeld te gebruiken app wachtwoorden.
Postfix winkels verificatie details in /etc/postfix/sasl/sasl_passwd. Dit bestand kan er niet standaard, dus je kan hebben om het te maken met aanraking. Het opent, plak uw gegevens in:
[smtp.gmail.com]:587 username@gmail.com:password
Hiermee wordt Postfix voor het gebruik van Google ‘ s SMTP-server en verifiëren met uw gegevens.
Voer postmap op sasl_passwd:
sudo postmap /etc/postfix/sasl_passwd
Dit genereert een sasl_passwd.db-bestand dat wordt gebruikt door Postfix. Beide van deze bestanden bij het opslaan van uw app wachtwoord in leesbare tekst, dus je zult willen beperken tot de root door het uitvoeren van chown en chmod:
sudo chown root:root /etc/postfix/sasl_passwd /etc/postfix/sasl_passwd.db
sudo chmod 600 /etc/postfix/sasl_passwd /etc/postfix/sasl_passwd.db
Postfix is nu gereed om te gaan, maar je zult moeten configureren Postfix de hoofd configuratie bestand voor het gebruik van SMTP relay en uw SASL-referenties. Open /etc/postfix/main.cf in je favoriete tekst editor en zoek de “relayhost -” optie. Dit te wijzigen gebruik de Gmail SMTP server:
relayhost = [smtp.gmail.com]:587
Dan, aan het einde van het bestand, voeg je de volgende regels configureren SASL en het gebruik van uw wachtwoord bestand.
# inschakelen van SASL authenticatie
smtp_sasl_auth_enable = ja
# niet toestaan van methoden om anonieme verificatie.
smtp_sasl_security_options = noanonymous
# waar te vinden sasl_passwd
smtp_sasl_password_maps = hash:/etc/postfix/sasl_passwd
# Inschakelen STARTTLS encryptie
smtp_use_tls = ja
# waar vindt u CA-certificaten
smtp_tls_CAfile = /etc/ssl/certs/ca-certificaten.crt
Sla dit bestand vervolgens opnieuw opstarten Postfix met systemctl:
sudo systemctl start postfix
Postfix moet nu volledig worden geconfigureerd en ingesteld als standaard e-mailprogramma op uw systeem. U kunt deze testen met Postfix eigen sendmail opdracht:
sendmail recipient@gmail.com
VAN: youremail@gmail.com
ONDERWERP: Hallo van uw server!
Dit is een test e-mail verstuurd vanaf uw server met Postfix.
.
Controleer uw postvak in (of postvak uit), en moet u een nieuwe e-mail. U kunt voer sudo tail-f /var/log/mail.log (of e-mail.err) om te controleren of de e-mail logs.
Postfix zal zichzelf configureren als uw server is standaard e-mailprogramma. Een app of een programma dat moet doen mailen, mag nu gebruik maken van Postfix standaard, zoals PHP (die gebruik maakt van Postfix ‘ s sendmail). Wat kan het nodig zijn extra configuratie, die meestal gewoon vertellen de app te gebruiken Postfix.
Als u geen gebruik wilt maken van sendmail (want het is een beetje onhandig) u kunt installeren een andere mail client. Een goede klant is mutt, die ondersteunt het verzenden van bestanden als bijlagen, en zal gebruik maken van Postfix standaard. De syntaxis voor het eenvoudig verzenden is:
echo “e-content” | mutt -s “e-mail onderwerp” recipient@gmail.com
En voor het bijvoegen van bestanden, moet u apart de-a vlag waarden van de ontvanger met twee streepjes “–“:
echo “e-content” | mutt -s “e-mail onderwerp” -a /pad/naar/bestand — recipient@gmail.com
Die verschijnen in uw postvak in met het bestand als bijlage, mits het niet te druk op een bestandsgrootte limieten die worden opgelegd door de SMTP server:
Welke mail-client, kunt u ook kiest, elk van hen moet bruikbaar zijn in shell scripts, cron jobs, en overal waar u kunt configureren om te draaien Unix commando ‘ s.