Levelezés, hogyan?

Fórumok

Az a helyzet, teljesen ködös elképzelésem van a levelezésről, ezért kérlek titeket, oszlassátok bennem a homályt!

Az egész apropója az, hogy Fedorán nagyon lassan indul a sendmail, ezt leszedtem, így javítva a boot időt. Van egy msmtp-m konfigurálva, amellyel lehetővé válik, hogy a mailx levelet küldjön a szolgáltató SMTP-jén keresztül.

Az rkhunter naponta szkenneli a gépemet - desktop gépről van egyébként szó -, s küldene levelet localhost-on belül a root-nak. Gyanítom, küld is, mert a /var/mail/root-ban megtalálható, amit olvasni szeretnék. Van egy dovecot-om, ehhez tud csatlakozni a Thunderbird mail kliens.

Lényegében az a kérdésem, hogyan kerül a /var/mail/root-ból a thunderbird klienshez a levél? Mivel használom a thunderbird jelszó megjegyzését, nem akarok root@localhost mailcímet, sokkal inkább azt szeretném, hogy locsemege@localhost címen érjem el mindazt, ami jelenleg a /var/mail/root-ban van. A /etc/aliases-ban van egy ilyen, de ezt talán a sendmail használta:

# Person who should get root's mail
root:           locsemege

Hozzászólások

Fedorán nem tudom, mi a helyzet, archlinuxon állítólag kell a /etc/msmtprc-be egy
aliases /etc/aliases
sor, ami, ha jól értem, nincs benne alapállapotban.
De lehet, hogy egyszerűbb lenne
a) postfixet telepíteni helyette
b) kinyomozni, hogy az a sendmail mitől indul olyan lassan - tapasztalataim szerint névfeloldási gondok miatt szokott nehezen indulni (de ez már közel nyolc-tíz éves tapasztalat, az utóbbi időben vagy exim4 vagy postfix van a gépeimen)

Sendmail egy undorító, otromba állat, akkor sem tenném vissza, ha tudnám gyógyítani a panaszát. Arról szokott nyafogni, hogy a gépem neve nem szabványos domainnév, de tekintve, hogy csak az egyes programok által küldött leveleket szeretném helyben, localhost-on megkapni, nem is lesz az. Viszont, amit írtál, azt megnézem, hiszen az msmtp disztribúció-függetlenül az, ami, így ha Arch-on jó, itt is az lesz.

Egyébként szeretem az Arch online dokumentációját, jó néhány problémát oldottam meg belőle Fedorán.

tr '[:lower:]' '[:upper:]' <<<locsemege
LOCSEMEGE

Sendmail böhöm nagy állat, én sem szeretem, de ennek inkább az az oka, hogy nehézkes a konfigurálása.
A lassú indulás inkább amiatt a domain név miatt lehet.
Ebbe egyébként belefuthatsz más szoftvereknél is, érdemes jól beállítani a géped nevéd, domaint, névfeloldásokat. (és ne használj .local-t, ha nem muszáj! ;) )

Én a freebsd doksiját szerettem így használni. Ha nem is egyezik mindenütt a linuxossal, általában jól használható (pl. SSL, RADIUS és hasonló témákban).
Na jó, az volt, mikor utoljára használtam.

http://hup.hu/node/129897#comment-1691188
Mit írtam a b) pontban? :D

És de, nehézkes. Már önmagában az, hogy "érteni kell hozzá", míg az exim4/postfix különösebb hozzáértés nélkül is beüzemelhető, igazolja, hogy nehézkes a használata.
Ha ehhez még hozzáveszem, hogy a sendmail esetében (rosszul emlékeznék?) gyakorlatilag le kell fordítani a konfig fájlt, miután belepiszkáltál, mert a sendmail.cf-be (??? nem vagyok biztos a nevében) nem illik beleírni... Szóval zűrös és bonyolult darab, akárhonnan nézzük.

Bizonyára van olyan is, nekem személy szerint eddig még sikerült elkerülnöm, hogy ne lehessen kidobni a picsába, egy két izolált esetet nem számítva, de ott meg hálistennek gyak csak local relay volt.

Alapvetően poén akart lenni, de komolyra fordítva, nyilván, ahol nem lehet valamiért mást használni, ott az ember összeszorítja kicsi fogát, és használja a sendmailt. Attól még nehézkes marad. A vi ugyanez, csak az sokkal inkább de-faktó, uh. azzal együtt kell élni. :)

Nem szerkesztek, mert ha valaki válaszol közben, akkor már nem tudom elküldeni.

Az az érzésem, az aliases file-ba kénytelen leszek valós mailcímet írni, mert ez a szolgáltatón keresztül küldi majd a leveleket. Nem lehet meggyőzni arról, hogy egyes leveleket helyben intézzen, míg másokat küldjön csak ki a nagyvilág felé? Mondom, már a protokoll vonatkozásában ködös a látásom...

tr '[:lower:]' '[:upper:]' <<<locsemege
LOCSEMEGE

A levelezés elemeinek összekötési módja szinte végtelen, ezért nincs olyan, amikor valahova beírod kaquqq és minden működik. :) Tehát:
( Kimenet -> és Bemenet <- )
Kliensek:
-> smtp
--> lmtp - ugyanaz, mint az smtp, csak local-ban, így küld levelet a root
--> smtp - helyi mail szerveren keresztül - ezzel küldesz kifelé, de a root-nak is mehet
<- smtp, pop3, imap - local szerver - ezzel olvasod a helyi leveleket
<- -"- - külső szerver - ezzel olvashatod külső mailboxból a leveleket

Kliens: (pl. fetchmail)
-> smtp, pop3 -> lmtp - hogy bejöjjenek a külső mailboxokból a levelek
ekkor nem a kliensed olvassa, hanem először átkerül helyi mailboxba

Szerver: (MTA)
-> smtp - külső szerver felé
-> lmtp - local mailboxba
-> imap szerver - ekkor imap klienssel szeded le a leveleket
<- MX - külső szervertől (ilyened akkor van, ha fizetsz)

Szerver: (IMAP)
-> lmtp
-> smtp
<- imap, pop3 - kliens olvas

Átirányítás:
-> helyi - /etc/aliases - pl. a root leveleit kapja meg joska is, vagy root helyett geza
(Ez ugye nem levelező program, tehát az MTA határozza meg, hogy user és/vagy mail kell ide.)
<-> address rewrite - pl. root => root@localhost => root@intra.locsemege.linux => joska.geza@t-com.hu (ennek rengeteg változata elképzelhető)

Ez közel sem pontos kép arról, hogy mit lehet és mit kell megoldani. Nem kell az összes úvonalat és lehetőséget megvalósítani, de el kell dönteni milyen forrású, célú levelet milyen elemeken keresztül kell vezetni.

A kérdés ott van eltemetve:
- a külső levelek hova érkeznek? (kliens+local mbox, vagy helyi szerver)
- ugyanoda akarod rakni a helyi leveleket?
- helyileg, vagy előbb kiküldöd külső szolgáltatóhoz? (lmpt vagy kimenő smtp)

A fentiek megvalósításához szerintem a legjobb a postfix. A dovecot-hoz kapcsolódásáról is van wiki.

Sajnos az általad használt szoftvert csak innen "ismerem".
Azt hiszem, amit te keresel, azt smart relay címszó alatt célszerű keresni.
Nálam - ahogy írtam - exim4 és postfix is működik ilyen módon.
Nem kell hozzájuk valós mail címre küldeni a szemetet, csak tudniuk kell, hogy mi megy lokális userekhez és mi az, amit kifelé küldesz. (fejből nem tudom, van egy saját step-by-step leírásom arra az esetre, ha ilyet kell beállítani)

Ugyan teljesen off, de egyszer írtam már arról, hogy volt gondom az msmtp és mailx használatából. A gond az, hogy a mailx a parancssori kapcsolói többségét változatlan formában adja tovább a mail.rc set sendmail sorában meghatározott smtp szervernek. Igen ám, de mailx-ben a from address-t a -r kapcsolóval kell megadni, míg az msmtp ezt -f kapcsolóval várja. A többi kapcsoló stimmel, csak ezzel van gond. Erre írtam egy wrapper scriptet régebben, azóta is használom:

#!/bin/bash

i=0
while [ $# -gt 0 ]; do
    if [ x"$1" = x'-r' ]; then
        param[i]='-f'
    else
        param[i]="$1"
    fi
    shift
    ((i++))
done
exec msmtp "${param[@]}"

tr '[:lower:]' '[:upper:]' <<<locsemege
LOCSEMEGE