Sende e-post fra kommandolinjen
e-kommandoen er en viktig som bør være tilgjengelig på alle linux-server, slik at ulike tjenester og andre web-applikasjoner kan generere og sende e-poster.
I et tidligere innlegg på e-post kommandoen vi så hvordan e-kommandoen kan brukes til å sende e-post fra kommando-linjen på linux-serveren.,
I denne opplæringen skal vi bruke en forbedret versjon av e-kommandoen. Det heter mailx (eller bare e-post når den er installert), og det kan gjøre mange flere ting enn hva de eldre post kommando fra gnu mailutils pakken kan gjøre.
Hvordan fungerer det
mail/mailx kommandoen må en lokal smtp server (MTA) å kjøre for å levere e-post. Ruten tatt av e-post er noe som dette –
– >
mail -> sendmail -> local MTA -> recipient MTA
mottakeren MTA ville være gmail ‘ s smtp server hvis mottakeren din er noen på gmail.com for eksempel., For den lokale MTA, må du installere en smtp-server som Postfix. En grunnleggende installasjon av Postfix med minimal konfigurasjon ville fungere i de fleste tilfeller.
Installere mailx kommandoen
På Ubuntu/Debian-baserte systemer mailx kommandoen er tilgjengelig fra 2 forskjellige pakker –
– >
1. arvestykke-mailx
2. bsd-mailx
skal Vi bruke den arvestykke-mailx pakken fordi det har flere egenskaper og funksjoner.
På CentOS/Fedora-baserte systemer, er det bare én pakke som heter «mailx» som er arvestykke pakken.,
for Å finne ut hva mailx pakken er installert på systemet, kan du sjekke «mann mailx» output og bla ned til slutten og du bør se litt nyttig informasjon.
# ubuntu/debian$ sudo apt-get install heirloom-mailx# fedora/centos$ sudo yum install mailx
Bruke mailx kommandoen
Når programmet er installert, mailx kommandoen kan være direkte nevnt med navn, e-post, slik at du bare skriver i det i kommandolinjen.
1. Simple mail
Kjør følgende kommando, og trykk deretter mailx ville vente på deg for å skrive inn meldingen i e-posten. Du kan trykke på enter for nye linjer. Når du er ferdig med å skrive meldingen, trykker du Ctrl+D, og mailx ville vise EOT.,
Etter enn mailx gir automatisk e-post til målet.
$ mail -s "This is the subject" Hi someoneHow are youI am fineByeEOT
2. Ta melding fra en fil
meldingsteksten for e-post kan være tatt fra en fil også.
$ mail -s "This is Subject" < /path/to/file
denne meldingen kan også fraktes med echo-kommandoen –
– >
$ echo "This is message body" | mail -s "This is Subject"
3. Flere mottakere
for Å sende e-post til flere mottakere, kan du angi alle e-poster, atskilt med komma
$ echo "Dette er meldingsteksten" | mail -s "Dette er Gjenstand" ,
4., CC og BCC
«- c» og «-b» kan brukes til å legge til KOPI-og BLINDKOPI-adresser henholdsvis.
$ echo "Dette er meldingsteksten" | mail -s "Dette er Emne" -c
5. Angi navn og adresse
for Å angi en «FRA» navn og adresse, bruk «r» – alternativet. Navnet bør følges av adressen som er pakket inn i «».
$ echo "Dette er meldingsteksten" | mail -s "Dette er Emne" -r "Harry<>"
6., Angi «Svar Til» – adresse
svar til-adressen er angitt med det interne tilleggsutstyret variabel «replyto» bruker «-S» – alternativet.
7. Vedlegg
Vedlegg kan legges med «-a» – alternativet.
$ echo "Dette er meldingsteksten" | mail -s "Dette er Emne" -r "Harry<>" -en /sti/til/file
8. Bruke eksterne SMTP-server
Dette er en eksklusiv funksjon, som du bare får med arvestykke mailx og ikke bsd mailx, eller e-kommandoen fra gnu mailutils eller mutt kommando.,
mailx-kommandoen, kan du bruke en ekstern smtp-server hvis du vil bruke til å sende meldingen videre. Syntaksen er litt lengre, men fornuftig.
Her er en oversikt
Du kan bruke gmail smtp-servere og sende e-post via din gmail-konto. Det er så kult!
For gmail spesielt du ville trenge for å aktivere mindre sikker apps-innstillinger før du kan sende e-post som.
9. Verbose – se smtp kommunikasjon
Når du bruker ekstern smtp-servere, kan du velge å se hele smtp kommunikasjon som er gjort i bakgrunnen., Dette er spesielt nyttig ved testing eller debugging smtp-servere.
Feilsøking
I tilfelle post ikke blir levert på riktig måte må du sjekke et par ting. Den første tingen å sjekke er at en smtp-server (mta) kjører lokalt. Den kommandoen netstat kan fortelle at
Hvis en stmp-server som Postfix er i gang og post er fortsatt ikke kommer, kan du prøve på nytt konfigurering av Postfix for eksempel. På Ubuntu/Debian-systemer, kan dette gjøres med kommandoen dpkg-rekonfigurere kommandoen
$ sudo dpkg-reconfigure postfix
Deretter prøve på nytt, e-kommandoen og det skal fungere., Hvis det fortsatt ikke, prøve å kontakte din server provider.
Ingen e-post fra lokale systemer
Hvis du prøver å sende e-post fra din lokale datamaskin til en gmail-adresse, din e-post vil mest sannsynlig bli avvist, så ikke prøv å gjøre det.
Dette er fordi vanlige datamaskiner som er koblet til internett-adresse en ip-adresse som ikke er forbundet med noen gyldig domene som sådan, og gmail strengt bekrefter slike legitimasjon før godkjenne en e-post til å gå gjennom.,
Notater og Ressurser
Bortsett fra mailx, det er andre verktøy som Swaks og smtp-cli som kan brukes til å sende e-post fra kommando-linjen og støtte for ulike funksjoner, for eksempel for å angi smtp-servere og legge til vedlegg og så videre.
Men mailx kommandoen er tilgjengelig i standard depoter av de vanligste distroer, så kan installeres enkelt. Videre opprettholder en syntaks som er svært likt på e-kommando som gjør det til et fall i erstatning for den gamle e-kommandoen.,
mailx kommandoen er selv i stand til å lese e-post fra eksterne IMAP-servere, men det er noe vi holdt ut av dette innlegget, og ville snakke senere. For å lære mer sjekk mannen side for mailx kommando med «mann mailx».