Sziasztok!
Tud nekem valaki jó megoldást mondani az alábbi problémára?
Adott egy postfix szerver, ami ADSL-en keresztül, ISP smarthost segítségével továbbítja a leveleket a külvilág felé.
Sajnos néha előfordul, hogy egy-két user nagy mennyiségű és méretű levéláradattal árasztja el. Ezt kellene szabályozni.
Pontosabban vagy a kissebb leveleket kellene előrevenni a sorban, vagy ha a usernek sok levele van már kézbesítetlenül a sorban, akkor visszavenni az ő levélküldési sebességét.
Oldotta meg már ezt valaki?
Köszi!
Swifty
- 1356 megtekintés
Hozzászólások
+
Senki?
--
Debian Linux rulez... :D
- A hozzászóláshoz be kell jelentkezni
Korlátozni kell a maximális levélméretet, usereknek elmagyarázni, hogy nem "spam"-elünk. Igaz ez nem mind postfix oldali beállítás.
Itt sem írnak túl sokat: http://www.postfix.org/queuing.html
Talán itt: http://www.postfix.org/qmgr.8.html (nem olvastam most végig)
- A hozzászóláshoz be kell jelentkezni
A méret korlátozást már megtette az ISP 20MByte-ban.
Sajnos a nem "spam"-elünk nem igazán jön be, mert alvállalkozóknak kell kiküldeni terveket, és sajnos sem a userem, sem az ő alvállalkozói sem tudják használni a céges FTP szervert... :(
Sajnos ezeken a lépéseken már túl vagyok... De azért köszi! :D
--
Debian Linux rulez... :D
- A hozzászóláshoz be kell jelentkezni
Hello,
csak okoskodás, nem csináltam még ilyet.
A Postfix 2.3 tud per-sender relayhost-ot: http://www.postfix.org/SOHO_README.html.
A küldő (ha állandó) ily módon szabályozható, hogy merre menjenek a levelek.
Tudsz a master.cf-ben létrehozni több smtpd processzt (nem használt portra bind-olod), mindegyiknek saját konfiggal - nem mindent tudsz szabályozni!
De tudsz pl max kliens kapcsolatszámot szabályozni, ezzel pedig elvileg elérted acélod, ha jól gondolom :)
a.
- A hozzászóláshoz be kell jelentkezni
Ezt még nem próbáltam...
Igazán azt hiszem, ez sem lesz jó, mert az ISP-re relayhost-olok... És abból 1 db van.
A processzek száma itt mindegy, mert van concurrency limit... Ugye annak nincs értelme, hogy több szálon menjenek ugyanoda a levelek, és adott esetben csak lassítsák egymást..
Köszi neked is az ötletet! :D
--
Debian Linux rulez... :D
- A hozzászóláshoz be kell jelentkezni
Ha jól értem azt szeretnéd, hogy a queue az valójában ne is egy queue legyen, hanem valami szabályzott dolog, ahol te pl. meg tudod szabni, hogy a kisebb méretű leveleket tegye előre és próbálja előbb kézbesíteni.
Namost szerintem nem megvalósítható (de ha tud rá valaki módszert, én is megnézném). Másrészt, ha meg is csinálod... Ha egy nagy levél megy ki több címzettnek, az többnyire úgy történik, hogy egy mailban lesznek megadva a címzettek, nem pedig annyiszor lesz feladva a levél egy címzettel, ahány embernek megy. Ez esetben ez a queue-ba egy darab levélnek számít, akkor tekinthető kézbesítettnek, ha minden címzett megkapta. De ilyenkor ugye az SMTP sorba veszi a fejlécben szereplő címzetteket, és megpróbálja mindnek kézbesíteni. Olyat biztosan nem fogsz tudni elérni, hogy mondjuk 10 címzettenként álljon meg, és nézzen a queue-ból egy másik levelet, ezt meg majd folytatja.
A "küldési sebesség befolyásolás" alatt nem tudom mit értesz, bandwith limit nincs smtp-be, úógy küldi, ami kifér :).
Két dolgot tudsz tenni: message_size_limit illetve smtpd_recipient_limit, lentebb veszed mindkettőt. Ezzel eléred azt, hogy mondjuk Max. 5MB lehet a levél, és mondjuk max. 10 címzettje lehet egyszerre. Ez még nyilván nem a prioritásos dolog, amit te írtál, de legalább nem áll le egy 20MB-os maillel meg 500 címzettel 20 percig az smtp, és addig ugye a queue többi levele vár, hanem ezt kisebb mennyiséget hamarabb elviszi és továbblép. Persze ha egymás után jönnek ezek a nagy levelek, akkor majdnem ugyanott vagy, de ha a nagyok közé bekerül egy-két kicsi, akkor talán előrébb vagy :)
Na ezt a két mondatos mondanivalót sikerült jól elnyújtani :)
--
Discover It - Have a lot of fun!
- A hozzászóláshoz be kell jelentkezni
...az többnyire úgy történik, hogy egy mailban lesznek megadva a címzettek, nem pedig annyiszor lesz feladva a levél egy címzettel, ahány embernek megy.
Ezt azért gondold át még egyszer...:)
Nem lesz "annyiszor feladva" (bár ez is klienstől függ, és most nem az Outlook Express vagy Thunderbird programokra gondolok), de mikor a kliens kapcsolódik, és az 'envelope' fejléceket küldi, ott egyesével felsorolja. Tök semmi kapcsolat nincs (pontosabban nem kell, hogy legyen) az envelope fejlécek és a mailben található (MIME) fejlécek között.
http://www.cns.utoronto.ca/usg/technotes/smtp-intro.html
a.
- A hozzászóláshoz be kell jelentkezni
Szerintem ugyanazt mondjuk. :)
"az többnyire úgy történik, hogy egy mailban lesznek megadva a címzettek"
Tehát:
mail header...
címzett: a@b.hu, b@b.hu, c@c.hu...
mail header...
mail törzs
nem pedig
mail header...
címzett: a@b.hu
mail header...
mail törzs
mail header...
címzett: b@b.hu
mail header...
mail törzs
mail header...
címzett: c@c.hu
mail header...
mail törzs
- A hozzászóláshoz be kell jelentkezni
Ha jól értem azt szeretnéd, hogy a queue az valójában ne is egy queue legyen, hanem valami szabályzott dolog, ahol te pl. meg tudod szabni, hogy a kisebb méretű leveleket tegye előre és próbálja előbb kézbesíteni.
Azt hiszem, megértetted a problémám! :D
A usernek sikerült elmagyarázni, hogy létezik a titkos másolat funkció. Ezzel kevesebb helyet foglal a sorban, illetve az elküldött elemek között sem lesz 60 db ugyanolyan levél.
Viszont van, ahová más nagy levelet kell kiküldeni.
Tehát:
User1 sok, nagy levelet küld.
User2 kicsi, de fontos levelet küld.
Amíg a queue-ból nem megy ki a sok nagy levél, addig a kicsi sem jut ki!
A címzettek száma nem számít, mert smarthost-ozok az ISP-vel. (Tehát nem az én szerverem próbálja meg a címzettekhez eljuttatni a levelet.)
From: user1
To: x#x.hu, y#y.hu, z#z.hu, a#a.hu
Subject: Tervek - ajtó
Attachment: a.pdf, b.pdf, c.pdf
Size: 6MB
From: user1
To: y#y.hu, z#z.hu, b#b.hu
Subject: Tervek - kapu
Attachment: d.pdf, e.pdf, f.pdf
Size: 12MB
From: user1
To: r#r.hu, s#s.hu, t#t.hu
Subject: Tervek - ablak
Attachment: t.pdf, q.pdf, s.pdf
Size: 18MB
From: user2
To: zz#zz.hu
Subject: Fontos iratok
Size: 20KB
--
Debian Linux rulez... :D
- A hozzászóláshoz be kell jelentkezni
Hát ha ilyen vegyesek a userek, akkor nem nagyon lehet lekorlátozni, ha muszáj nagy méretű leveleket küldeni... Esetleg azoknak a usereknek, akik kis levelet küldenek, azoknak nem lehetne közvetlenül beállítani az ISP SMTP-jét? Vagy a másik lehetőség, hogy a helyi szerveren indítasz egy másik SMTP-t, és akik kicsi levelet küldenek többnyire, azoknak azt állítod be.
Egybként sose értettem, hogy ilyen nagy fájlokat miért emailben kell küldeni. Tudom, ez már workaround, de az nem lenne megoldható, hogy mondjuk nem emailbe küldik, hanem akár samba megosztáson feltöltik a helyi szerverre, amit egy http linkkel el tudnak érni, és le tudják tölteni a fájlokat? És emailbe pl. csak a linket küldenék el.
--
Discover It - Have a lot of fun!
- A hozzászóláshoz be kell jelentkezni
tc sfq-val esetleg?
- A hozzászóláshoz be kell jelentkezni
Kifejtenéd kicsit pontosabban?
Jelenleg is van sávszél korlátozás, pont azért, hogy ne vigye el a feltöltés a sávszélt a többi alkalmazástól. (Web, rádió, VPN, stb.)
És pont ezért is van belőve postfix-ben a concurrency level...
--
Debian Linux rulez... :D
- A hozzászóláshoz be kell jelentkezni