Portál AbcLinuxu, 5. května 2025 03:24

Dotaz: Prikazem mail poslat email na username@seznam.cz

9.4.2006 10:38 InToSSH | skóre: 9
Prikazem mail poslat email na username@seznam.cz
Přečteno: 3949×
Odpovědět | Admin
Dobrý den, jsem začátečník v linuxu a potřebuji abych mohl příkazem mail poslat email na username@seznam.cz . Nevim jak to nastavit nebo jaké tam dát za to argumenty. Předem díky. Koukal jsem se do man a do jiných diskuzí a jediné co jsem našel ta je toto:
open (MAIL, "|/usr/sbin/mail -t ");
                   print MAIL "From: email@dom.cz\n";
                   print MAIL "To: email@dom.cz\n";
                   print MAIL "Content-Type: text/plain\n";
                   print MAIL "Subject: Pokus\n\n";
                   print MAIL "Zpravaa";
close (MAIL);
A to mi nefunguje.
Nástroje: Začni sledovat (2) ?Zašle upozornění na váš email při vložení nového komentáře.

Odpovědi

David Watzke avatar 9.4.2006 10:45 David Watzke | skóre: 74 | blog: Blog... | Praha
Rozbalit Rozbalit vše Re: Prikazem mail poslat email na username@sezna.cz
Odpovědět | | Sbalit | Link | Blokovat | Admin
Možná takto:
echo "Zpravaa" | mail -s Předmět emai@lov.ka
“Being honest may not get you a lot of friends but it’ll always get you the right ones” ―John Lennon
9.4.2006 10:45 pupu
Rozbalit Rozbalit vše Re: Prikazem mail poslat email na username@sezna.cz
Odpovědět | | Sbalit | Link | Blokovat | Admin
To se divas ne nejaky divny manual. To co citujes vypada spis jako manual od Perlu.

[root@kobyla ~]# mail -s test pupu@pupu.cz huhlyhuhly . Cc:

Tohle je interaktivni mod (neboli prikaz ceka, az mu zadas telo mailu). Pokud to takhle nechces, muzes pouzit treba tohle:

[root@kobyla ~]# echo "telicko mailu" |mail -s test pupu@pupu.cz
9.4.2006 10:47 pupu
Rozbalit Rozbalit vše Re: Prikazem mail poslat email na username@sezna.cz
Fuj, vypadlo mi formatovani.

[root@kobyla ~]# mail -s test pupu@pupu.cz
huhlyhuhly
.
Cc:


[root@kobyla ~]# echo "telicko mailu" |mail -s test pupu@pupu.cz
Vojta Drbohlav avatar 9.4.2006 15:06 Vojta Drbohlav | skóre: 26 | blog: Blog | Strahov
Rozbalit Rozbalit vše Re: Prikazem mail poslat email na username@sezna.cz
Co potrebuji za balik abych mohl pouzivat mail?

P.S. Mam Gentoo
9.4.2006 15:45 pupu
Rozbalit Rozbalit vše Re: Prikazem mail poslat email na username@sezna.cz
Netusim, nepouzivam. Ve Fedore se balik jmenuje 'mailx'
Vojta Drbohlav avatar 9.4.2006 16:07 Vojta Drbohlav | skóre: 26 | blog: Blog | Strahov
Rozbalit Rozbalit vše Re: Prikazem mail poslat email na username@sezna.cz
Jj, je to mailx. Dik Vojta ;-)
9.4.2006 16:44 Jan Martinek | skóre: 43 | blog: johny | Brno
Rozbalit Rozbalit vše Re: Prikazem mail poslat email na username@sezna.cz
Odpovědět | | Sbalit | Link | Blokovat | Admin
Příkaz mail by měl skončit na propadlišti dějin. Tohoto třináct let starého dinosaura už na čtení mailů snad nikdo nepoužívá. A co se týče odesílání, to lze v pythonu nebo v perlu nahradit dvěma či třemi řádky kódu. Příkaz mail je dost častou příčinou toho, že roboti a skripty rozesílají maily se špatnou češtinou.

Poslat mail je totiž dost jednoduché. Podstatně složitější je ale ten mail _nachystat_. Pro ty nejjednodušší maily používám tento prográmek (či modul), který se postará o správné kódování a to jak v hlavičce, tak v těle. Vybere buď 'US-ASCII', 'ISO-8859-1' nebo 'UTF-8' podle situace. Dost jsem se inspiroval jakýmsi tutoriálem.
#!/usr/bin/env python

def send_email(sender, recipient, subject, body, verbose = False, SMTPserver="localhost"):
  """Send an email.

  All arguments should be Unicode strings (plain ASCII works as well).

  Only the real name part of sender and recipient addresses may contain
  non-ASCII characters.

  The email will be properly MIME encoded and delivered though SMTP to
  localhost port 25.  This is easy to change if you want something different.

  The charset of the email will be the first one out of US-ASCII, ISO-8859-1
  and UTF-8 that can represent all the characters occurring in the email.
  """
  from smtplib import SMTP
  from email.MIMEText import MIMEText
  from email.Header import Header
  from email.Utils import parseaddr, formataddr

  if not sender.startswith('From: '):
    sender += 'From: '
  if not recipient.startswith('To: '):
    recipient += 'To: '

  # Header class is smart enough to try US-ASCII, then the charset we
  # provide, then fall back to UTF-8.
  header_charset = 'ISO-8859-1'

  # We must choose the body charset manually
  for body_charset in 'US-ASCII', 'ISO-8859-1', 'UTF-8':
      try:
          body.encode(body_charset)
      except UnicodeError:
          pass
      else:
          break

  # Split real name (which is optional) and email address parts
  sender_name, sender_addr = parseaddr(sender)
  recipient_name, recipient_addr = parseaddr(recipient)

  # We must always pass Unicode strings to Header, otherwise it will
  # use RFC 2047 encoding even on plain ASCII strings.
  sender_name = str(Header(unicode(sender_name), header_charset))
  recipient_name = str(Header(unicode(recipient_name), header_charset))

  # Make sure email addresses do not contain non-ASCII characters
  sender_addr = sender_addr.encode('ascii')
  recipient_addr = recipient_addr.encode('ascii')

  # Create the message ('plain' stands for Content-Type: text/plain)
  msg = MIMEText(body.encode(body_charset), 'plain', body_charset)
  msg['From'] = formataddr((sender_name, sender_addr))
  msg['To'] = formataddr((recipient_name, recipient_addr))
  msg['Subject'] = Header(unicode(subject), header_charset)

  # Send the message via SMTP to localhost:25

  smtp = SMTP(SMTPserver)
  smtp.sendmail(sender, recipient, msg.as_string())
  smtp.quit()

  if verbose:
    print "This mail has been sent:\n"
    print sender
    print recipient
    print 'Subject: %s\n' %subject
    print body

if __name__ == '__main__':
  sender = u'From: áÁčČďĎěĚéÉíÍňŇóÓřŘšŠťŤúÚůŮýÝžŽ <honza@ar.re.sa>'
  recipient = u'To: áÁčČďĎěĚéÉíÍňŇóÓřŘšŠťŤúÚůŮýÝžŽ <honza@ad.re.sa>'
  subject = u'Testovací mail áÁčČďĎěĚéÉíÍňŇóÓřŘšŠťŤúÚůŮýÝžŽ'
  body = u'áÁčČďĎěĚéÉíÍňŇóÓřŘšŠťŤúÚůŮýÝžŽbleble\n'
  
  send_email(sender, recipient, subject, body, verbose = True)
9.4.2006 20:02 © | skóre: 37 | blog: escaped
Rozbalit Rozbalit vše Re: Prikazem mail poslat email na username@sezna.cz
Smir se s tim, ze existuji situace, kdy se bez nej neobejdes. Pouzivam ho docela casto. Je mi lito, ale jeho stale zapotrebi a bude asi vzdy. Pak uz Ti totiz zbyva jen less /var/spool/mail/uzivatel a to take neni med. Prikaz mail ti ty zpravy alespon vylistuje apod.
10.4.2006 11:07 mlz | skóre: 12 | blog: Obcas
Rozbalit Rozbalit vše Re: Prikazem mail poslat email na username@sezna.cz
Příkaz mail by měl skončit na propadlišti dějin. Tohoto třináct let starého dinosaura už na čtení mailů snad nikdo nepoužívá. A co se týče odesílání, to lze v pythonu nebo v perlu nahradit dvěma či třemi řádky kódu. Příkaz mail je dost častou příčinou toho, že roboti a skripty rozesílají maily se špatnou češtinou.
Mail je jeste starsi (existovalo uucp) Existuji UNIXy, kde neni ani perl, ani python, ale mail(x) vzdy.
Josef Kufner avatar 10.4.2006 11:41 Josef Kufner | skóre: 70
Rozbalit Rozbalit vše Re: Prikazem mail poslat email na username@sezna.cz
Přesně tak, navíc neznám nic jednoduššího a rozšířenějšího na rozesílání upozornění ze skriptů.
Hello world ! Segmentation fault (core dumped)
10.4.2006 11:53 Jan Martinek | skóre: 43 | blog: johny | Brno
Rozbalit Rozbalit vše Re: Prikazem mail poslat email na username@sezna.cz
Rozšířené a jednoduché to opravdu je - s tím musím souhlasit:

---

V=E1=BEen=FD u=BEivateli,

jmenuji se "mail" a jsem program na rozes=EDl=E1n=ED mail=F9 ze skriptu. =

V=EDtejte=20 ve t=F8et=EDm tis=EDcilet=ED. :-)
10.4.2006 15:03 Radek Hladik | skóre: 20
Rozbalit Rozbalit vše Re: Prikazem mail poslat email na username@sezna.cz
Upřímně řečeno, pokud mi má server poslat upozornění, že mu není dobře, tak budu radši, když přijde zpráva "tady server xy a bolĂ­ mÄ harddisk", než když po obnově hardisku najdu v logu zprávu typu "error:perl module xyz not found".

Jinak ale souhlasím, že na pořádné rozesílání a připravování mailů mail vhodný není.

Radek
10.4.2006 17:50 Bubak | skóre: 16 | blog: Čtvrtá cenová
Rozbalit Rozbalit vše Re: Prikazem mail poslat email na username@sezna.cz
To jsi ziskal jak? Neumis zapsat content-type?
... máš jen mrtvou kočku a poškrábanýho jezevčíka ...
15.3.2007 14:34 Havrla
Rozbalit Rozbalit vše Re: Prikazem mail poslat email na username@sezna.cz
No budes se mi smat, ale jak mailu reknu ze ma content-type: ext/plain; charset=UTF-8; format=flowed ?? nikde to nemuzu najit :-(

havrla
10.4.2006 17:47 Bubak | skóre: 16 | blog: Čtvrtá cenová
Rozbalit Rozbalit vše Re: Prikazem mail poslat email na username@sezna.cz
mail rozhodne neni obsolete. Zpravu si klidne prichystam a spravne odeslu v shellu. A u spouty veci vubec nepotrebuju neco prichystavat, kolikrat mi staci subject, anebo telo posilam bez hacku a carku a vubec me to nesere... Dulezita je informacni hodnota, kterou to ma. Ze nejaky debilek vytvori robota a nevi nic o normach, to je vec dotycneho debilka...
... máš jen mrtvou kočku a poškrábanýho jezevčíka ...
9.4.2006 20:32 InToSSH | skóre: 9
Rozbalit Rozbalit vše Re: Prikazem mail poslat email na username@sezna.cz
Odpovědět | | Sbalit | Link | Blokovat | Admin
Jo díky všem. Já to v tom tvaru zkoušel ale nějak mi to nešlo. To je jedno ted už to chodí. Potřeboval jsem to jen do scriptu že to pingá na PC a když je vyplý tak mi to pošle mail
10.4.2006 20:41 pupu
Rozbalit Rozbalit vše Re: Prikazem mail poslat email na username@sezna.cz
Co se vykaslat na skripty a zkusit uz hotove reseni? ;-)

http://www.tildeslash.com/monit/

Založit nové vláknoNahoru

Tiskni Sdílej: Linkuj Jaggni to Vybrali.sme.sk Google Del.icio.us Facebook

ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.