küldjön e-maileket a parancssorból
a mail parancs alapvető fontosságú, hogy minden linux szerveren elérhető legyen, hogy különböző szolgáltatások és más webes alkalmazások e-maileket generálhassanak és továbbíthassanak.
egy korábbi post-ban mail parancs láttuk, hogy a mail parancs használható e-mailek küldésére a parancssorból a linux szerveren.,
ebben a bemutatóban a mail parancs továbbfejlesztett változatát fogjuk használni. Az úgynevezett mailx (vagy csak mail, ha telepítve van), és ez sokkal több dolgot, mint amit a régebbi mail parancsot gnu mailutils csomag tehet.
hogyan működik
a mail / mailx parancsnak szüksége van egy helyi smtp kiszolgálóra (MTA), amely fut az e-mailek kézbesítéséhez. Az e-mail által megtett útvonal kissé ilyen –
mail -> sendmail -> local MTA -> recipient MTA
a címzett MTA lenne a gmail smtp szervere, ha a címzett valaki gmail.com például., A helyi MTA-hoz telepítenie kell egy smtp szervert, mint például a Postfix. A minimális konfigurációval rendelkező Postfix alapvető telepítése a legtöbb esetben működni fog.
telepítse a mailx parancsot
Ubuntu / Debian alapú rendszereken a mailx parancs 2 különböző csomagból áll rendelkezésre –
1. örökség-mailx
2. bsd-mailx
a heirloom-mailx csomagot fogjuk használni, mert több funkcióval és opcióval rendelkezik.
a CentOS / Fedora alapú rendszereken csak egy “mailx” nevű csomag található, amely az örökség csomag.,
ahhoz, hogy megtudja, milyen mailx csomag van telepítve a rendszerre, ellenőrizze a “man mailx” kimenetet, majd görgessen le a végéig, és látnia kell néhány hasznos információt.
# ubuntu/debian$ sudo apt-get install heirloom-mailx# fedora/centos$ sudo yum install mailx
a mailx parancs használatával
a telepítés után a mailx parancs közvetlenül hivatkozható a mail névvel, így csak írja be ezt a parancssorba.
1. Egyszerű mail
futtassa a következő parancsot, majd a mailx megvárja, amíg beírja az e-mail üzenetét. Akkor nyomja meg az enter új sorokat. Az üzenet beírásakor nyomja meg a Ctrl+D billentyűt, a mailx pedig az EOT-t jeleníti meg.,
after than mailx automatikusan elküldi az e-mailt a rendeltetési helyre.
$ mail -s "This is the subject" Hi someoneHow are youI am fineByeEOT
2. Üzenet felvétele egy
fájlból az e-mail üzenet teste egy fájlból is átvehető.
$ mail -s "This is Subject" < /path/to/file
Az üzenet az echo paranccsal is továbbítható –
$ echo "This is message body" | mail -s "This is Subject"
3. Több címzett
a levél több címzettnek történő elküldéséhez adja meg az összes vesszővel elválasztott e-mailt
$ echo "ez az üzenet teste" | mail-s "Ez a tárgy" ,
4., CC és BCC
A”- C “és”- b ” opciók CC és BCC címek hozzáadására használhatók.
$ echo "This Is message body | / mail -s" This is Subject " - c
5. Adja meg a nevét és címét
a “FROM” név és cím megadásához használja a”- r ” opciót. A nevet a “” – ba csomagolt címnek kell követnie.
$ echo "this is message body | / mail-s" This is Subject " - r "Harry<> "
6., Adja meg a “válasz-To” címet
a címre adott válasz a “replyto” belső opcióval van beállítva az “-S” opcióval.
7. Mellékletek
mellékletek hozzáadhatók az “- a ” opcióval.
$ echo "this is message body | / mail-s" This is Subject "- r "Harry< > " - a / path / to / file
8. Használjon külső SMTP kiszolgálót
Ez egy exkluzív szolgáltatás, amelyet csak a heirloom mailx segítségével kap, nem pedig a BSD mailx, vagy a GNU mailutils vagy a mutt parancs.,
a mailx parancs külső smtp kiszolgálót használhat az üzenet továbbításához. A szintaxis egy kicsit hosszadalmas, de van értelme.
itt van egy bontás
használhatja a gmail smtp szervereket, és e-maileket küldhet a gmail-fiókján keresztül. Ez annyira király!
a Gmailhez kifejezetten engedélyeznie kell a kevésbé biztonságos alkalmazások beállításait, mielőtt ilyen leveleket küldhet.
9. Verbose-watch smtp kommunikáció
ha külső smtp szerverek, akkor választhat, hogy nézni a teljes smtp kommunikáció, hogy történik a háttérben., Ez különösen akkor hasznos, ha smtp szervereket tesztel vagy hibakeres.
hibaelhárítás
abban az esetben, ha az e-maileket nem szállítják megfelelően, ellenőriznie kell néhány dolgot. Az első dolog, amit ellenőrizni kell, hogy egy smtp szerver (mta) helyben fut. A netstat parancs meg tudja mondani, hogy
Ha egy stmp-kiszolgáló, például a Postfix fut, és még mindig nem mennek a levelek, akkor próbálja meg újra konfigurálni a Postfixet. Ubuntu/Debian rendszereken ezt a
$ sudo dpkg-reconfigure postfix
dpkg-újrakonfigurálási paranccsal lehet megtenni, majd újra próbálkozzon, a mail parancsnak működnie kell., Ha még mindig nem, próbálja meg felvenni a kapcsolatot a szerver szolgáltatójával.
nincs levél a helyi rendszerekből
Ha megpróbál leveleket küldeni a helyi számítógépről egy gmail-címre, a leveleit valószínűleg elutasítják, ezért ne próbálja meg ezt megtenni.
Ez azért van, mert az internetcímhez csatlakoztatott közönséges számítógépeknek olyan ip-címe van, amely nem kapcsolódik semmilyen érvényes domainhez, ezért a gmail szigorúan ellenőrzi az ilyen hitelesítő adatokat, mielőtt jóváhagyná az e-maileket.,
Notes and Resources
eltekintve mailx, vannak más eszközök, mint a Swaks és smtp-cli, hogy lehet használni, hogy küldjön e-mailt a parancssorból, és támogatja a különböző funkciók, mint a meghatározó smtp szerverek és mellékletek hozzáadása, és így tovább.
azonban a mailx parancs elérhető a leggyakoribb disztribúciók alapértelmezett tárolóiban, így könnyen telepíthető. Továbbá fenntartja a szintaxis nagyon hasonlít a mail parancs, ami miatt egy csepp csere a régebbi mail parancsot.,
a mailx parancs még távoli IMAP szerverekről származó e-maileket is képes olvasni, de ezt a posztot kihagytuk, majd később beszéltünk. Ha többet szeretne megtudni, ellenőrizze a man oldalt a mailx parancs “man mailx”.