Fórum Root.cz

Hlavní témata => Server => Téma založeno: MilanC 15. 11. 2015, 14:31:37

Název: Email v příkazovém řádku
Přispěvatel: MilanC 15. 11. 2015, 14:31:37
Zdravím všechny,
prosím o pomoc s vyřešením mého problému.

Mám Linux Mint, v něm bash, a v něm chci poslat email, ale nejde mi (mu) to.
Mám nainstalováno:   mailutils, taky uw-mailutils.
Zadám:

$ mail já@můjemail.cz
Cc:   enter
Subjekt:   enter
Ahoj světe!
ctrl-D

No, a píše mi to, že nelze zprávu odeslat: Proces ukončen s nenulovým statusem........cannot send message: Process exited with a non-zero status

Internet mi ale běží. I podle různých otázek v příkazovém řádku, např.: $ ip addr ......... eth0 je UP, apod., co jsem vyčetl.
Díky.


Název: Re:Email v příkazovém řádku
Přispěvatel: Fantomas 15. 11. 2015, 14:50:13
Asi ti nebezi smtp server, ten musi bezet lokalne, treba exim4 nebo sendmail nebo nejaky jiny. A smtp server by mel operovat s funkcni domenou, jinak nemusi byt maily spravne doruceny. V lokalni siti to funguje i bez funkcnich domen.
Název: Re:Email v příkazovém řádku
Přispěvatel: Kit 15. 11. 2015, 15:06:51
Je nutné nainstalovat lokální SMTP server, nejlépe asi Postfix.
Název: Re:Email v příkazovém řádku
Přispěvatel: samalama 15. 11. 2015, 15:10:29
... co mu bude prd platne, pretoze dnes skoro vsetci ISP 25/tcp blokuju...
Název: Re:Email v příkazovém řádku
Přispěvatel: metalmauss 15. 11. 2015, 15:33:17
tvůj ISP ti blokuje lokální porty? Co přesně si představuješ pod pojmem ISP? :)
Název: Re:Email v příkazovém řádku
Přispěvatel: Kit 15. 11. 2015, 15:45:18
... co mu bude prd platne, pretoze dnes skoro vsetci ISP 25/tcp blokuju...

Mám O2 a jeho port 25 (SMTP) mi normálně jede.
Název: Re:Email v příkazovém řádku
Přispěvatel: samalama 15. 11. 2015, 15:48:20
ano, je to bezna pratika, ale netvrdim, ze to robia vsetci. ISP je "firma", ktora zabezpecuje pripojenie na internet.
Název: Re:Email v příkazovém řádku
Přispěvatel: Fantomas 15. 11. 2015, 16:05:15
... co mu bude prd platne, pretoze dnes skoro vsetci ISP 25/tcp blokuju...
O tom silne pochybuji. Pred deseti lety mozna, dnes v podstate neni duvod.
Název: Re:Email v příkazovém řádku
Přispěvatel: brk 15. 11. 2015, 16:30:15
... co mu bude prd platne, pretoze dnes skoro vsetci ISP 25/tcp blokuju...
O tom silne pochybuji. Pred deseti lety mozna, dnes v podstate neni duvod.
Je to pořád docela běžná praxe hlavně u menších ISP. Zákazníkům povolují připojit se na port 25 pouze na SMTP server ISP.
Název: Re:Email v příkazovém řádku
Přispěvatel: Michal Taneček 15. 11. 2015, 17:37:49
Je to spíše nutnost blokovat port 25 pro malá ISP, sdružení. Zkuste se dohadovat třeba se spamhausem z pozice OS s 60ti členy.  Zvláště ve chvíli, kdy vám další člověk s widlema začne spamovat nejdéle pozítří.
Název: Re:Email v příkazovém řádku
Přispěvatel: Ondrej Nemecek 15. 11. 2015, 17:59:16
Zkuste místo 25 použít mail submission port 587 - viz https://en.wikipedia.org/wiki/Simple_Mail_Transfer_Protocol
Název: Re:Email v příkazovém řádku
Přispěvatel: Michal Taneček 15. 11. 2015, 18:19:01
Zkuste místo 25 použít mail submission port 587 - viz https://en.wikipedia.org/wiki/Simple_Mail_Transfer_Protocol
Kód: [Vybrat]
http://askubuntu.com/questions/522431/how-to-send-an-email-using-command-line
Je tam i ukázka, jak použít SMTP gmailu.
Název: Re:Email v příkazovém řádku
Přispěvatel: Fantomas 15. 11. 2015, 18:39:43
Je to spíše nutnost blokovat port 25 pro malá ISP, sdružení. Zkuste se dohadovat třeba se spamhausem z pozice OS s 60ti členy.  Zvláště ve chvíli, kdy vám další člověk s widlema začne spamovat nejdéle pozítří.
Proc nutnost? Staci klientum pridelit verejne adresy a klient si zodpovida za to sam, spamuje, tak jeho ip spadne na blacklist. V soucasnosti to samozrejme nejde, kdyz ipv4 dosly. Ale i tak neni treba nic natvrdo blokovat, staci to kontrolovat a zacit blokovat pri vetsim provozu, pokud to isp neumi, pak je u nich neco spatne.
Název: Re:Email v příkazovém řádku
Přispěvatel: Unknown 15. 11. 2015, 19:32:55
Je to spíše nutnost blokovat port 25 pro malá ISP, sdružení. Zkuste se dohadovat třeba se spamhausem z pozice OS s 60ti členy.  Zvláště ve chvíli, kdy vám další člověk s widlema začne spamovat nejdéle pozítří.

Spravci malych sdruzeni neznaji scripty povolujici na gateway na portu 25 jen urcity pocet spojeni z jedne IP za urcity cas?
Název: Re:Email v příkazovém řádku
Přispěvatel: JardaH 15. 11. 2015, 19:51:50
Já jsem velice dlouho provozoval svůj vlastní SMTP, ale to už dnes není takřka možné:

1. Port 25 je často blokován, protože různé viry na klientských PC neustále spamují, takže to ISP vyřeší takto "kulatně". Uživatelům to většinou nevadí protože mají svůj webmail na centrum nebo seznamu a nic neřeší :P

2. Připojen přes O2 jsem cca každý týden musel odstraňovat vlastní IP nebo rozsah z nějakého blacklistu.

3. Lze pořád mít SMTP, ale je nutné používat ověřený relayhost, začal jsem kvůli tomu používat ten přes Gmail, ale např. už si přes to nepošlete email s vlastním libovolným 'From:', ale pouze z ověřených emailů.



Název: Re:Email v příkazovém řádku
Přispěvatel: Ondra Satai Nekola 15. 11. 2015, 20:09:33
Jednoduche reseni bez zbytecneho patlani se s vlastnim SMTP
https://github.com/muquit/mailsend
Název: Re:Email v příkazovém řádku
Přispěvatel: MilanC 15. 11. 2015, 20:26:19
Děkuji za všechny vaše reakce.
Jako výchozí smtp server jsem měl postfix, který jsem tedy neuměl přenastavit k dobré funkčnosti, a tak jsem ho odinstaloval. Nyní mám exim4 a myslím, že jsem o krok kupředu. Zpráva se odešle, bez nějakého zádrhelu. Jen to trvá nápadně dlouho - asi půl sekundy. Čekal bych jen mžik.
Ale zpráva neopustí můj počítač - mířeno je na  ..@email.cz.
Hned pak po zadání   $ mail    mám jakožto uživatel mého PC tuto zprávu jako nedoručitelnou, s oznámením, že
Mailing to remote domains not supported   ......   posílání mailů na vzdálené domény není podporováno. Zadal jsem   man exim  a prošel si manuál o 1700 řádků a nenašel jsem nic vhodného pro změnu nastavení. Když byste náhodou věděli jak na to, byl bych potěšen.

Mailsend? ... pak když tak zkusím.
Název: Re:Email v příkazovém řádku
Přispěvatel: samalama 15. 11. 2015, 21:05:44
Jako výchozí smtp server jsem měl postfix, který jsem tedy neuměl přenastavit k dobré funkčnosti, a tak jsem ho odinstaloval. Nyní mám exim4 a myslím, že jsem o krok kupředu. Zpráva se odešle, bez nějakého zádrhelu. Ale zpráva neopustí můj počítač - mířeno je na  ..@email.cz.
Hned pak po zadání   $ mail    mám jakožto uživatel mého PC tuto zprávu jako nedoručitelnou, s oznámením, že
Mailing to remote domains not supported   ......   posílání mailů na vzdálené domény není podporováno. .

takze s tym eximom si tam kde si bol s postfixom, takze by som ho tam vratil a pozrel do jeho logov...
Název: Re:Email v příkazovém řádku
Přispěvatel: co_to 15. 11. 2015, 21:22:17
Ja bych radil, se na tohle vykaslat. Proc by nekdo, kdo o tom na prvni, druhy i treti pohled nic nevi, potreboval odesilat maily z radky? PRESNE tim ze mu tohle poradite, vytvorite dalsi open-relay a situaci opet o kapanek zhorsite. Kdyby si svuj server neinstaloval kazdy tatar ktery chce byt hacker a vytahovat se pred kamarady, situace se spamem by byla nekde jinde. Obecne bych rekl, ze se k provozovani vlastniho smtp hodi vice znalosti, nez "ted to odesila" a "ted ne".
Název: Re:Email v příkazovém řádku
Přispěvatel: MilanC 15. 11. 2015, 21:41:55
Ano, uznávám, neumím to.

   Ale něco umím: umím v jazyku C zpracovat html formulář + nějaký ten zlepšovák pro dobrou práci s webem, což není teď podstatné. No, a nyní potřebuji, jak to bývá, aby se ten výsledek po zpracování automaticky poslal do schránky nějakého klienta.
   Přímo na Céčkovskou funkci jsem zatím nenarazil, a sám to zatím nenapíšu, když této oblasti téměř nerozumím. Pro posílání mailů jsem vygugloval program v perlu .. a vím, že v PHP je to snad jen o napsání jednoho řádku. A pak je tady právě ten shell, prozatím, ten by pro mě byl nejpřínosnější. Nejde mi samozřejmě o řádkový příkaz, ale o skript, což je teď jedno. ... takhle tedy.
Název: Re:Email v příkazovém řádku
Přispěvatel: karlik 15. 11. 2015, 21:52:09
Nainstaluj si mailx (bsd-mailx nebo heirloom-mailx).
Vytvoř si soubor .mailrc, který bude obsahovat:

#set smtp-auth=login
#set smtp-auth-user=karlik
#set smtp-auth-password=tajneheslo
set smtp=smtp://smtp.tveho-internetoveho-providera.cz
set from="ty.mail@mail.cz"

A pošli mail:
 echo "Zprava" | mailx -s "Hlavicka" "ty.mail@adre.sa"
Název: Re:Email v příkazovém řádku
Přispěvatel: TKL 15. 11. 2015, 21:53:27
Ja bych radil, se na tohle vykaslat. Proc by nekdo, kdo o tom na prvni, druhy i treti pohled nic nevi, potreboval odesilat maily z radky? PRESNE tim ze mu tohle poradite, vytvorite dalsi open-relay a situaci opet o kapanek zhorsite. Kdyby si svuj server neinstaloval kazdy tatar ktery chce byt hacker a vytahovat se pred kamarady, situace se spamem by byla nekde jinde. Obecne bych rekl, ze se k provozovani vlastniho smtp hodi vice znalosti, nez "ted to odesila" a "ted ne".

Tím, že si na svém počítači rozjede vlastní SMTP server se situace nezmění nijak. Protože s největší pravděpodobností nemá vlastní pevnou veřejnou IP adresu a na firewallu otevřený port 25 pro celý svět. Tudíž i kdyby ten postfix nebo exim nakonfiguroval špatně a ten pak byl open relay, nestalo by se nic. Nakažená PC denně chrlí milióny spamů a žádný SMTP server na localhostu k tomu nepotřebují.

A teď odpověď tazateli: provozovat vlastní SMTP server tak, aby ho většina serverů na druhé straně akceptovala, není tak jednoduché. Potřebujete k tomu:

1) pevnou veřejnou IP adresu
2) korektní hostname, směřující na tuto IP adresu
3) korektně nastavený reverzní DNS záznam

Z čehož je jasné, že to nezařídíte ze dne na den. Tudíž pokud vám jde o to, abyste mohl z CLI posílat maily, bude daleko jednodušší použít k tomu důvěryhodný SMTP server třetí strany. To se dá buď:

a) pomocí programu, který takto komunikovat s cizím SMTP umí (nějaké info včetně příkladů např. zde http://www.binarytides.com/linux-mail-with-smtp/ )
b) nastavit vlastní SMTP tak, aby poštu pouze předával dalšímu SMTP serveru, který ji pak doručí adresátovi.

Ve vašem případě bych doporučoval vydat se cestou a).
Název: Re:Email v příkazovém řádku
Přispěvatel: Ondrej 15. 11. 2015, 22:12:25
Když sem řešil podobné tak sem si napsal v pythonu scriptík kterej odešle email podle argumentů --to --subject --body, posílal jsem to ale z gmail smtp.
Možná ho někde vyštrachám pokud by pomohlo případně napíšu, je to max pár řádků...
Název: Re:Email v příkazovém řádku
Přispěvatel: dvd9 15. 11. 2015, 22:24:43
Podobnym zpusobem (bez vlastniho SMTP serveru), jak pise  karlik , to jde i pomoc ssmtp, kdyz se v konfiguraku nastavi SMTP server, ktery se ma pouzit, s parametry, tak jde odesilat pres program mail.
http://www.havetheknowhow.com/Configure-the-server/Install-ssmtp.html
Název: Re:Email v příkazovém řádku
Přispěvatel: Fantomas 15. 11. 2015, 22:43:00
Nainstaluj si mailx (bsd-mailx nebo heirloom-mailx).
Vytvoř si soubor .mailrc, který bude obsahovat:

#set smtp-auth=login
#set smtp-auth-user=karlik
#set smtp-auth-password=tajneheslo
set smtp=smtp://smtp.tveho-internetoveho-providera.cz
set from="ty.mail@mail.cz"

A pošli mail:
 echo "Zprava" | mailx -s "Hlavicka" "ty.mail@adre.sa"
Velmi rozumne reseni, nez se drbat s vlastnim smtp bez sve ip, domeny, rpt... Zbytecne moc prekazek, kdyz to lze vyresit klientem, ktery umi odesilat postu pres jine smtp.
Název: Re:Email v příkazovém řádku
Přispěvatel: MilanC 15. 11. 2015, 23:34:31
Díky moc,
a teď už dobrou noc, zítra se na to vrhnu.


PS:  Když já bych chtěl mít doma vlastní server, zatím docela malý.
Název: Re:Email v příkazovém řádku
Přispěvatel: MilanC 16. 11. 2015, 14:09:59
Zdravím,
tak jsem se na to vrhnul a už mi to běží.

   Rozhodl jsem se, že dám vše do původního stavu. Odinstaloval jsem nepůvodní balíky a vrátil zpět Postfix. Při jeho instalaci se v terminálu objevila tabulka (Postfix configuration) s nastavením sítě. Vhodně jsem ji tentokráte vyplnil.
   Ona se mi totiž objevila už při instalaci (dva dny dozadu) balíku mailutils. Ale řekněme, že je nešikovně připravená a já nebyl dost bdělý. Je neaktivní, jde jen o popis jednotlivých nastavení s jediným tlačítkem OK. Tentokrát po odescapování tahle zmizla a vykoukla menší už aktivní nastavovací tabulka.
... bez dalších podrobností ...

   Jinak jsem sledoval vaši diskuzi o spamu. Myslím si, že co bude zařazeno do spamu a co ne, určují tvůrci jednotlivých portálů. Někomu se nemusí líbit, že adresátů ve zprávě je např. víc než 50 nebo 100 apod. Seznam.cz určitě odmítá úplně prázdný email - bez textu, bez přílohy.
   Mě by docela zajímalo, jak se ten který server bude dívat na mailovou adresu, kterou jeden nebo nějaký určitý počet uživatelů schránky toho serveru, třeba Seznamu, označí jako spam.

Mějte se.