# miten konffata mail jotta Cron voi emailata tulokset?

## hobo2

tein muutamia yksinkertaisia komentoja joilla cron paivittain ajaa komennot, tekee logit ja laittaa postia

mutta, en tieda miten konffata tuo email niin etta output cronista tulee spostiin

tassa osa /var/log/messages jossa ilmenee etta komennot suoritettiin mutten saanut spostia

May 10 23:50:00 gt6 fcron[7736]: Job xxx /tmp/xxx.log started for user cron (pid 7737)

May 10 23:50:00 gt6 fcron[7736]: Job xxx /tmp/xxx.log terminated (exit status: 1) (mailing output)

May 10 23:50:00 gt6 sSMTP[7736]: Unable to locate mail

May 10 23:50:00 gt6 sSMTP[7736]: Cannot open mail:25

----------

## Zarhan

 *hobo2 wrote:*   

> tein muutamia yksinkertaisia komentoja joilla cron paivittain ajaa komennot, tekee logit ja laittaa postia
> 
> mutta, en tieda miten konffata tuo email niin etta output cronista tulee spostiin
> 
> tassa osa /var/log/messages jossa ilmenee etta komennot suoritettiin mutten saanut spostia
> ...

 

  Oletuksena gentoo käyttää ssmtp-maileria (erittäin yksinkertainen mailerisofta, riittää peruskäyttöön). Tuo virheilmoitus May 10 23:50:00 gt6 sSMTP[7736]: Unable to locate mail tarkoittaa ettei löytänyt serveriä nimeltä "mail"  :Smile: 

  Katso tiedostoa /etc/ssmtp/ssmtp.conf ja laita sinne lähtevän postin palvelin mitä käytät, pitäisi alkaa pelittämään.

----------

## hobo2

> Katso tiedostoa /etc/ssmtp/ssmtp.conf ja laita sinne lähtevän postin palvelin 

laitoin siihen mailhost-oikea.osoite.com:2525

(palvelimeni ulosmeneva posti saapuu portista 2525)

eiko tarvitse konffata mitaan muita sSMTP (tai sendmail alias) vipuja?

tarkoitan noita -au -t jne asetuksia?

nyt nakyy /var/log/messages logissa

May 11 09:12:16 g6 sSMTP[10181]: standardize() -- Buffer overflow

joten ei enaa vikailmoitusta ettei loyda mailhostia muttei myoskaan toimi?

kiitos!

----------

## Zarhan

 *hobo2 wrote:*   

> >
> 
> laitoin siihen mailhost-oikea.osoite.com:2525
> 
> (palvelimeni ulosmeneva posti saapuu portista 2525)
> ...

 

  Mitä tää yrittää sanoa?

  Ulosmenevä posti saapuu?-)

  Tohon siis tulee sun käyttämäsi postipalvelimen nimi, vaikka mail.inet.fi:25 soneralla. Jos pyörität omaa postiserveriä jossain niin sen toki.

  Jos ei tunnu toimivan niin -d-optiolla voi pistää debugin päälle niin näet missä menee homma pieleen. Jos posti lähtee niin tarkista että vastaanottajan osoitteet yms. on oikeat  :Smile: 

----------

## hobo2

en ole kirjoittanut suomea vuosiin, anteeksi kankea kirjoitustyyli

minulla on siis omat palvelimet ja omat domainit

siis kuten www.munoma.com (en asu suomessa)

postini tulee sisalle (pop3) osoitemuodossa mail.munoma.com:2525 (portti on siis 2525 ei pelkka 25)

smtp menee ulos mail.munoma.com mutta vaatii login tiedot (samat kuin sisaantuleva posti)

laitoin siis tiedot kuten 

mailhost-mail.munoma.com:2525

minne laitan tuon -d ?

vastaanottaja on siis mina, kuten hobo2@munoma.com (laitoin sen myos ja ilman sita, testattu molemmilla, ei silti toimi)

----------

## Zarhan

Millä komennolla tai skriptillä nyt laitat sitä postia?

----------

## hobo2

siis cron ajaa muutaman komennon ja (alkuperainen viesti threadissa) tallentaa /var/log tiedostoon filun

tuo tiedosto sitten ilmeisesti tulisi suoraan sSMTP:lla 

ainakin niin ymmarsin noista alkuperaisista lokitiedoista

kirjoitin:

>tassa osa /var/log/messages jossa ilmenee etta komennot suoritettiin mutten saanut spostia 

>May 10 23:50:00 gt6 fcron[7736]: Job xxx /tmp/xxx.log started for user cron (pid 7737) 

>May 10 23:50:00 gt6 fcron[7736]: Job xxx /tmp/xxx.log terminated (exit status: 1) (mailing output) 

>May 10 23:50:00 gt6 sSMTP[7736]: Unable to locate mail 

>May 10 23:50:00 gt6 sSMTP[7736]: Cannot open mail:25

en siis edelleenkaan ole suorittanut mitaan komentoa terminal/consolen kautta vaan edelleenkin cron ajaa noita toimintoja ja edelleenkin olisin lukenut ne emailista jos mahdollista

sain seuraavan neuvon:

> Katso tiedostoa /etc/ssmtp/ssmtp.conf ja laita sinne lähtevän postin palvelin 

laitoin siihen mailhost-oikea.osoite.com:2525 

ja nyt siis sama lokitiedosto nayttaa:

>nyt nakyy /var/log/messages logissa 

>May 11 09:12:16 g6 sSMTP[10181]: standardize() -- Buffer overflow 

pitaisiko manuaalisesti tehda jokin komento? teen sen mielellani.

mika olisi tuo testikomento?

----------

## Zarhan

Joojoo, mutta minkä komennon se sun hieno cronilla ajastettu skripti tekee? Mitä ne muutamat komennot on?

----------

## hobo2

ei se taida olla kovin hieno, pieni ohjelma jonka kirjoitin pythonilla, hakee mySql tietokannasta muutamia tarkeita tapahtumia ja tallentaa ne logiin (/var/tmp/xxx.log)

ilmeisesti se osa toimii hyvin koska pystyn lukemaan sen samassa paikassa jos olen koneella, tarkoitus olikin olla superhieno ja saada output emailissa  :Smile:  joka melkein onnistui paitsi etten osaa konffata sSMTP:ta

saisinko nyt ohjeet tuohon emailiin ? :Smile: 

----------

## hobo2

osoitteessa https://forums.gentoo.org/viewtopic-p-2401500.html#2401500

loytyi toimiva keino, cron emailaa nyt login mutta en viela osaa konffata "To" osoitetta

linkissa oleva "cat test.msg" sample tuli hienosti perille omaan spostiin

----------

## Zarhan

No yritin kysyä että millä komennolla sitä postia sitten lähetät siinä skriptissäsi..

Mutta jos tuo linkin esimerkki toimii niin ilmeisesti ihan komennolla sendmail mun@osoite. 

To:-osoite käsittääkseni määritellään ihan viestin rungossa. Elikkä sun pitää viestisi alkuun liimata To: oma@osoite tai To: Oma Nimi <oma@osoite>. Välilyönti To:n jälkeen on tärkeä.

----------

## hobo2

 *Zarhan wrote:*   

> No yritin kysyä että millä komennolla sitä postia sitten lähetät siinä skriptissäsi

 

esmes tama esimerkki pitaisi olla riittava koska logitiedot tulevat emailissa

cron:iin seuraava komento

emerge --update world 2>&1 | tee -a /tmp/lastemerge.log 

tuon pitaisi tulla automaattisesti osoitteeseen joka maaritelty ssmtp.conf:issa

----------

## Zarhan

 *hobo2 wrote:*   

> 
> 
> emerge --update world 2>&1 | tee -a /tmp/lastemerge.log 
> 
> tuon pitaisi tulla automaattisesti osoitteeseen joka maaritelty ssmtp.conf:issa

 

Ssmtp.conffissa määritellään vain posti*palvelimen* osoite. Ei mitään muuta. Elikkä siellä määritellään vain se mailhost.oma.domain:2525.

  Komentoriviksi muodostuu vaikkapa

```

emerge --update world 2>&1 | tee -a /tmp/lastemerge.log | /usr/lib/sendmail -flahettaja@osoite.com vastaanottaja@osoite.com

```

Ja nyt en kyllä ymmärrä mitä meinaat kun sanot että et osaa konffata "To"-osoitetta - sehän on tuo "vastaanottaja@osoite.com" eli ainoa parametri mitä sendmailille on pakko sanoa.

Jos haluat selväkielisemmät lähettäjän osoitteet näkyviin tyyliin "Matti Möttönen" <matti@oma.domain.com> niin

from-osoitteeseen se tehdään ihan reverse lookupilla /etc/passwd-tiedostosta käyttäjien oikean nimen kohdalta. Jos tämän haluaa overridettää niin parametri -F "Matti" hoitaa homman.

----------

## hobo2

anteeksi seli-selitykset, suomen kielinen ilmaisu hieman takkuilee, kylla se tasta selvenee = :Smile: 

vaikka itse komentosarja on omassa tapauksessa pieni python ohjelma, seuraava kuvaus on toimiva esimerkki mita tapahtuu

siis, komento esmes cron:issa on  esmes seuraava

emerge --sync  2>&1 | tee -a /tmp/emerge.log | /usr/lib/sendmail -fcron@gentoo hobo@munoma.com

mita tapahtuu seuraavaksi?

1. cron ajaa komennon pyydettyyn aikaan

2. cron emailaa raportin etta "ajo on suoritettu"

3. email saapuu seuraavalla Subject rivilla

Output of fcron job: 'emerge --sync  2>&1 | tee -a /tmp/emerge.log | /usr/lib/sendmail -fcron@gentoo hobo@munoma.com' 

4. raporttia ei ole mukana emailissa (<--- tama on se mita olen hakenut, etta saisin lukea isp:n spostista mita cron teki ja mita tapahtui ajon lopussa), saan siis ainoastaan tyhjan spostin enka logia

5. yksinkertaisesti siis haluan myos tuon /tmp/emerge.log spostiin

tuota osoitetta tai osaa rivista "  | /usr/lib/sendmail -fcron@gentoo hobo@munoma.com " ei tarvita lainkaan koska osoite joka on laitettu ssmtp.conf:iin (userid's below level 1000) on se minne cron lahettaa tulokset

joten seuraavat komennot cron:issa tuottavat identtiset tulokset (ie. Ainoastaan headeri tulee emailiiin)

emerge --sync  2>&1 | tee -a /tmp/emerge.log | /usr/lib/sendmail -fcron@gentoo hobo@munoma.com

emerge --sync  2>&1 | tee -a /tmp/emerge.log

6. tilanne nyt sama kuin eilen, eli saan siis automaattisesti tuon "ilmoituksen" etta cron suoritti ajon, tulos 1 = Ok mutta haluan myos emerge.log:in 

I sure do hope I'm explicitly and impeccably clear this time? :Smile: 

----------

## Zarhan

Ah, ilmeisesti tämä tulosten lähetys ihan cronilla itsellään on sellainen asia missä toteutukset eroavat, ja fcron voi tehdä juttuja omalla tavallaan. Itse käytän vixie-cronia, joten fcronista en pysty kommentoimaan.

----------

## hobo2

laitoin erillisen viestin https://forums.gentoo.org/viewtopic-p-2406034.html

ehka joku vastaa  :Smile: 

----------

