Postfix, Courier virtuális felhasználókkal

Ebben a leírásban egy egyszerű levelező szervert hozunk létre virtuális felhasználókkal, ahol a felhasználók MySQL adatbázisban tárolódnak, így egyszerűen lehet kezelni őket.
A szerverrel a felhasználók a megfelelő azonosítás után távolról is küldhetnek levelet, a postafiókokra kvóta lesz érvényben (ez alapból nincs a Postfixben!).
A leírásban a szerver IP címe 192.168.0.100, a szerver neve pedig server1.example.com lesz.

A telepítéshez lépjünk be a szerverre (akár helyileg, akár SSH-n keresztül), majd szerezzünk egy root jogú konzolt

sudo -s

Postfix, MySQL, Courier, Saslauthd, phpMyAdmin telepítése

Először tegyük fel a szükséges csomagokat (természetesen ha már valami fent van, és be is van állítva értelemszerűen kihagyandó!):

apt-get install postfix postfix-mysql postfix-doc mysql-client mysql-server courier-authdaemon courier-authlib-mysql courier-pop courier-pop-ssl courier-imap courier-imap-ssl postfix-tls libsasl2-2 libsasl2-modules libsasl2-modules-sql sasl2-bin libpam-mysql openssl phpmyadmin apache2 libapache2-mod-php5 php5 php5-mysql

Telepítéskor a rendszer megkérdez néhány dolgot:
New password for the MySQL “root” user: itt adjuk meg a MySQL root jelszavát (ennek nem kell egyeznie a rendszer root jelszavával)
Create directories for web-based administration? Nem
General type of mail configuration: Internet Site
System mail name: server1.example.com
SSL certificate required Ok
Web server to reconfigure automatically: apache2

Kvóta a Postfixhoz

Gyárilag a Postfix nem tartalmaz kvóta támogatást, azonban létezik hozzá patch, amivel bele lehet drótozni ezt a szolgáltatást.
Célszerű a fordítást nem a szerveren, hanem egy másik gépen elvégezni. Ha mégis a szerveren fordítanánk le a forrást, ügyeljünk rá, hogy utána távolítsuk el a fordításhoz szükséges programokat!

apt-get install build-essential dpkg-dev fakeroot debhelper libgdbm-dev libldap2-dev libpcre3-dev libssl-dev libsasl2-dev postgresql-server-dev-8.2 po-debconf dpatch libmysqlclient15-dev lsb-release libcdb-dev libdb4.5-dev

Töltsük le a postfix forrását a /usr/src mappába:

cd /usr/src
apt-get source postfix

Én a 2.4.5-ös verziójú Postfixel fogok dolgozni, jelenleg ez érhető el az Ubuntu tárolókból.
Töltsük le a patchet, és csomagoljuk ki, majd patcheljük meg a postfix forrását:

wget http://vda.sourceforge.net/VDA/postfix-2.4.5-vda-ng.patch.gz
gunzip postfix-2.4.5-vda-ng.patch.gz
cd postfix-2.4.5
patch -p1 < ../postfix-2.4.5-vda-ng.patch
dpkg-buildpackage

A dpkg-buildpackage parancs kimenete között ha egy “WARNING: Failed to sign .dsc and .changes file” sort látunk, akkor azzal nem kell foglalkozni, ez normális.
Ugorjunk egy mappával feljebb, ahová lefordultak a deb csomagok:

cd ..
ls -l

Valami hasonlót kell látnod:

root@server1:/usr/src# ls -l
total 5424
drwxr-xr-x 19 root src 4096 2007-11-16 14:33 postfix-2.4.5
-rw-r–r– 1 root src 222693 2007-11-16 14:30 postfix_2.4.5-3ubuntu1.diff.gz
-rw-r–r– 1 root src 663 2007-11-16 14:30 postfix_2.4.5-3ubuntu1.dsc
-rw-r–r– 1 root src 1783 2007-11-16 14:33 postfix_2.4.5-3ubuntu1_i386.changes
-rw-r–r– 1 root src 1123668 2007-11-16 14:33 postfix_2.4.5-3ubuntu1_i386.deb
-rw-r–r– 1 root src 2934634 2007-08-03 19:53 postfix_2.4.5.orig.tar.gz
-rw-r–r– 1 root src 57055 2007-08-02 01:13 postfix-2.4.5-vda-ng.patch
-rw-r–r– 1 root src 38078 2007-11-16 14:33 postfix-cdb_2.4.5-3ubuntu1_i386.deb
-rw-r–r– 1 root src 133642 2007-11-16 14:33 postfix-dev_2.4.5-3ubuntu1_all.deb
-rw-r–r– 1 root src 826202 2007-11-16 14:33 postfix-doc_2.4.5-3ubuntu1_all.deb
-rw-r–r– 1 root src 44340 2007-11-16 14:33 postfix-ldap_2.4.5-3ubuntu1_i386.deb
-rw-r–r– 1 root src 40118 2007-11-16 14:33 postfix-mysql_2.4.5-3ubuntu1_i386.deb
-rw-r–r– 1 root src 39956 2007-11-16 14:33 postfix-pcre_2.4.5-3ubuntu1_i386.deb
-rw-r–r– 1 root src 40190 2007-11-16 14:33 postfix-pgsql_2.4.5-3ubuntu1_i386.deb
root@server1:/usr/src#

Ha nem a szerveren végeztük a fordítást, akkor a postfix_2.4.5-3ubuntu1_i386.deb és a postfix-mysql_2.4.5-3ubuntu1_i386.deb csomagot másoljuk át a szerverre, majd telepítsük azokat:

dpkg -i postfix_2.4.5-3ubuntu1_i386.deb
dpkg -i postfix-mysql_2.4.5-3ubuntu1_i386.deb

MySQL adatbázis létrehozása

Hozzunk létre egy mail nevű adatbázist, ahol a levelezéshez szükséges adatokat tárolhatjuk:

mysqladmin -u root -p create mail

Most indítsuk el a mysql kliensét, hogy feltölthessük adatokkal az adatbázist:

mysql -u root -p

Most hozzunk létre egy mail_admin felhasználót, kinek jelszava mail_admin_password lesz, aki a mail adatbázison a SELECT,INSERT,UPDATE,DELETE máveleteket végezheti el. Ezzel a felhasználóval kapcsolódik majd a Postfix és a Courier az adatbázishoz.

GRANT SELECT, INSERT, UPDATE, DELETE ON mail.* TO 'mail_admin'@'localhost' IDENTIFIED BY 'mail_admin_password';
GRANT SELECT, INSERT, UPDATE, DELETE ON mail.* TO 'mail_admin'@'localhost.localdomain' IDENTIFIED BY 'mail_admin_password';
FLUSH PRIVILEGES;

Hozzuk létre a megfelelő táblákat:

USE mail;
CREATE TABLE domains (
domain varchar(50) NOT NULL,
PRIMARY KEY (domain) )
TYPE=MyISAM;
CREATE TABLE forwardings (
source varchar(80) NOT NULL,
destination TEXT NOT NULL,
PRIMARY KEY (source) )
TYPE=MyISAM;
CREATE TABLE users (
email varchar(80) NOT NULL,
password varchar(20) NOT NULL,
quota INT(10) DEFAULT '10485760',
PRIMARY KEY (email)
) TYPE=MyISAM;
CREATE TABLE transport (
domain varchar(128) NOT NULL default '',
transport varchar(128) NOT NULL default '',
UNIQUE KEY domain (domain)
) TYPE=MyISAM;
quit;

Postfix beállítása

Itt az ideje beállítani a Postfixet!
A postfix beállító fájljai az /etc/postfix mappában találhatóak.
Hozzuk létre a postfix számára MySQL beállító fájlokat:

editor /etc/postfix/mysql-virtual_domains.cf

Tartalma:

user = mail_admin
password = mail_admin_password
dbname = mail
query = SELECT domain AS virtual FROM domains WHERE domain=’%s’
hosts = 127.0.0.1

editor /etc/postfix/mysql-virtual_forwardings.cf

user = mail_admin
password = mail_admin_password
dbname = mail
query = SELECT destination FROM forwardings WHERE source=’%s’
hosts = 127.0.0.1

editor /etc/postfix/mysql-virtual_mailboxes.cf

user = mail_admin
password = mail_admin_password
dbname = mail
query = SELECT CONCAT(SUBSTRING_INDEX(email,’@’,-1),’/’,SUBSTRING_INDEX(email,’@’,1),’/’) FROM users WHERE email=’%s’
hosts = 127.0.0.1

editor /etc/postfix/mysql-virtual_email2email.cf

user = mail_admin
password = mail_admin_password
dbname = mail
query = SELECT email FROM users WHERE email=’%s’
hosts = 127.0.0.1

editor /etc/postfix/mysql-virtual_transports.cf

user = mail_admin
password = mail_admin_password
dbname = mail
query = SELECT transport FROM transport WHERE domain=’%s’
hosts = 127.0.0.1

editor /etc/postfix/mysql-virtual_mailbox_limit_maps.cf

user = mail_admin
password = mail_admin_password
dbname = mail
query = SELECT quota FROM users WHERE email=’%s’
hosts = 127.0.0.1

Állítsük be a most létrehozott fáljok jogait:

chmod o= /etc/postfix/mysql-virtual_*.cf
chgrp postfix /etc/postfix/mysql-virtual_*.cf

Hozzunk létre egy vmail nevű felhasználót, /home/vmail kezdőkönyvtárban, akinek a nevében a virtuális felhasználók leveleit tároljuk (a /home/vmail mappában)

groupadd -g 5000 vmail
useradd -g vmail -u 5000 vmail -d /home/vmail -m

Most állítsuk be a postfixet (Figyelem! a server1.example.com hostnevet írd át a szerver rendes FQDN nevére, különben nem fog máködni a levelező szerver!):

postconf -e 'myhostname = server1.example.com'
postconf -e 'mydestination = server1.example.com, localhost, localhost.localdomain'
postconf -e 'mynetworks = 127.0.0.0/8'
postconf -e 'virtual_alias_domains ='
postconf -e 'virtual_alias_maps = proxy:mysql:/etc/postfix/mysql-virtual_forwardings.cf, mysql:/etc/postfix/mysql-virtual_email2email.cf'
postconf -e 'virtual_mailbox_domains = proxy:mysql:/etc/postfix/mysql-virtual_domains.cf'
postconf -e 'virtual_mailbox_maps = proxy:mysql:/etc/postfix/mysql-virtual_mailboxes.cf'
postconf -e 'virtual_mailbox_base = /home/vmail'
postconf -e 'virtual_uid_maps = static:5000'
postconf -e 'virtual_gid_maps = static:5000'
postconf -e 'smtpd_sasl_auth_enable = yes'
postconf -e 'broken_sasl_auth_clients = yes'
postconf -e 'smtpd_recipient_restrictions = permit_mynetworks, permit_sasl_authenticated, reject_unauth_destination'
postconf -e 'smtpd_use_tls = yes'
postconf -e 'smtpd_tls_cert_file = /etc/postfix/smtpd.cert'
postconf -e 'smtpd_tls_key_file = /etc/postfix/smtpd.key'
postconf -e 'transport_maps = proxy:mysql:/etc/postfix/mysql-virtual_transports.cf'
postconf -e 'virtual_create_maildirsize = yes'
postconf -e 'virtual_mailbox_extended = yes'
postconf -e 'virtual_mailbox_limit_maps = proxy:mysql:/etc/postfix/mysql-virtual_mailbox_limit_maps.cf'
postconf -e 'virtual_mailbox_limit_override = yes'
postconf -e 'virtual_maildir_limit_message = "A felhasznalo elerte a kvotajat!"'
postconf -e 'virtual_overquota_bounce = yes'
postconf -e 'proxy_read_maps = $local_recipient_maps $mydestination $virtual_alias_maps $virtual_alias_domains $virtual_mailbox_maps $virtual_mailbox_domains $relay_recipient_maps $relay_domains $canonical_maps $sender_canonical_maps $recipient_canonical_maps $relocated_maps $transport_maps $mynetworks $virtual_mailbox_limit_maps'

Hozzuk létre az tanúsítványokat, amik a TLS-hez kellenek

cd /etc/postfix
openssl req -new -outform PEM -out smtpd.cert -newkey rsa:2048 -nodes -keyout smtpd.key -keyform PEM -days 365 -x509

Néhány kérdést meg kell válaszolnunk:
Country Name (2 letter code) [AU]: Az ország kétbetűs ISO kódja, Magyarországé HU
State or Province Name (full name) [Some-State]: Megye
Locality Name (eg, city) []: Város
Organization Name (eg, company) [Internet Widgits Pty Ltd]: Szervezet, cég neve
Organizational Unit Name (eg, section) []: Szervezeti egység neve (pl. Informatika)
Common Name (eg, YOUR name) []: ide írd be a valódi host nevét a szervernek (pl. “server1.example.com”).
Email Address []: email címed
Állítsük be az smtpd.key fájl jogosultságát:

chmod o= /etc/postfix/smtpd.key

Saslauthd beállítása

Először:

mkdir -p /var/spool/postfix/var/run/saslauthd

Majd szerkesszük a /etc/default/saslauthd fájlt. A START legyen Yes (igy automatikusan elindul), az OPTIONS=”-c” helyett pedig PTIONS=”-c -m /var/spool/postfix/var/run/saslauthd -r”

editor /etc/default/saslauthd

#
START=yes
MECHANISMS=”pam”
MECH_OPTIONS=””
THREADS=5
OPTIONS=”-c -m /var/spool/postfix/var/run/saslauthd -r”

Hozzuk létre a /etc/pam.d/smtp fájlt, benne a következő két sorral:

editor /etc/pam.d/smtp

auth required pam_mysql.so user=mail_admin passwd=mail_admin_password host=127.0.0.1 db=mail table=users usercolumn=email passwdcolumn=password crypt=1
account sufficient pam_mysql.so user=mail_admin passwd=mail_admin_password host=127.0.0.1 db=mail table=users usercolumn=email passwdcolumn=password crypt=1

Hozzuk létre a /etc/postfix/sasl/smtpd.conf fájlt:

editor /etc/postfix/sasl/smtpd.conf

pwcheck_method: saslauthd
mech_list: plain login
allow_plaintext: true
auxprop_plugin: mysql
sql_hostnames: 127.0.0.1
sql_user: mail_admin
sql_passwd: mail_admin_password
sql_database: mail
sql_select: select password from users where email = ‘%u’

Indítsuk újra a postfixet és a Saslauthd-ot:

/etc/init.d/postfix restart
/etc/init.d/saslauthd restart

Courier beállítása

Most állítsuk be a Couriert, hogy MySQL adatbázisból végezze a felhasználók azonosítását. Ehhez szerkesszük a /etc/courier/authdaemonrc fájlt, hogy az authmodulelist a következő legyen:

editor /etc/courier/authdaemonrc

authmodulelist=”authmysql”

Mentsük el a /etc/courier/authmysqlrc fájlt, és töröljük ki a tartalmát:

cp /etc/courier/authmysqlrc /etc/courier/authmysqlrc_orig
cat /dev/null > /etc/courier/authmysqlrc

Szerkesszük a /etc/courier/authmysqlrc fájlt, és a következő tartalommal töltsük fel:

editor etc/courier/authmysqlrc

MYSQL_SERVER localhost
MYSQL_USERNAME mail_admin
MYSQL_PASSWORD mail_admin_password
MYSQL_PORT 0
MYSQL_DATABASE mail
MYSQL_USER_TABLE users
MYSQL_CRYPT_PWFIELD password
#MYSQL_CLEAR_PWFIELD password
MYSQL_UID_FIELD 5000
MYSQL_GID_FIELD 5000
MYSQL_LOGIN_FIELD email
MYSQL_HOME_FIELD “/home/vmail”
MYSQL_MAILDIR_FIELD CONCAT(SUBSTRING_INDEX(email,’@’,-1),’/’,SUBSTRING_INDEX(email,’@’,1),’/’)
#MYSQL_NAME_FIELD
MYSQL_QUOTA_FIELD quota

Indítsuk újra a Couriert:

/etc/init.d/courier-authdaemon restart
/etc/init.d/courier-imap restart
/etc/init.d/courier-imap-ssl restart
/etc/init.d/courier-pop restart
/etc/init.d/courier-pop-ssl restart

Győződjünk meg róla, hogy fut, és elérjük:

telnet server1.example.com pop3

Hasonlót kellene látni:

root@server1:/etc/postfix# telnet localhost pop3
Trying 127.0.0.1…
Connected to localhost.localdomain.
Escape character is ‘^]’.
+OK Hello there.
quit
+OK Better luck next time.
Connection closed by foreign host.
root@server1:/etc/postfix#

A quit parancsal lehet kilépni. Hanem jelenik meg a +OK Hello there. sor, akkor valami baj van a konfigurációnkkal.

/etc/aliases szerkesztése

Módosítsuk az /etc/aliases fájlt:

editor /etc/aliases

[…]
postmaster: root
root: postmaster@domained.tld
[…]

Majd a newaliases paranccsal tudassuk a postfixxel, és indítsuk is újra:

newaliases
/etc/init.d/postfix restart

Kvóta értesítő

Ha szeretnél értesítést kapni arról, hogyha valamelyik felhasználónak kezd betelleni a postafiókja akkor a következőket kell csinalni:

cd /usr/local/sbin/
wget http://puuhis.net/vhcs/quota.txt
mv quota.txt quota_notify
chmod 755 quota_notify

Szerkeszd a /usr/local/sbin/quota_notify fájlt, és írd át a megfelelő sorokat:

[…]
my $POSTFIX_CF = “/etc/postfix/main.cf”;
my $MAILPROG = “/usr/sbin/sendmail -t”;
my $WARNPERCENT = 80;
my @POSTMASTERS = (‘postmaster@yourdomain.tld’);
my $CONAME = ‘My Company’;
my $COADDR = ‘postmaster@yourdomain.tld’;
my $SUADDR = ‘postmaster@yourdomain.tld’;
my $MAIL_REPORT = 1;
my $MAIL_WARNING = 1;
[…]
print “Subject: FIGYELEM: A postafiokja megtelt: $lusers{$luser}% \n”;
[…]
print “Your mailbox: $luser is $lusers{$luser}% full.\n\n”;
[…]

Időzítsük a szkriptet:

crontab -e

0 0 * * * /usr/local/sbin/quota_notify &> /dev/null

Postfix tesztelése

Nézzük meg, hogy fut e az smtp szolgáltatás:

telnet server1.example.com 25

Ha felépült a kapcsolat, akkor írjük be a következőt:

ehlo server1.example.com

Valamit hasonlót kell látnunk:

root@gep:~# server1.example.com 25
Trying 127.0.0.1…
Connected to localhost.localdomain.
Escape character is ‘^]’.
220 server1.example.com ESMTP Postfix (Ubuntu)
ehlo server1.example.com
250-server1.example.com
250-PIPELINING
250-SIZE 10240000
250-VRFY
250-ETRN
250-STARTTLS
250-AUTH PLAIN LOGIN
250-AUTH=PLAIN LOGIN
250-ENHANCEDSTATUSCODES
250-8BITMIME
250 DSN
quit
221 2.0.0 Bye
Connection closed by foreign host.
root@gep:~#

A következő soroknak mindenképp szerepelniük kell a listán:

250-STARTTLS
250-AUTH LOGIN PLAIN

quit paranccsal lehet kilépni a telnetből

quit

Felhasználók felvétele

Felhasználókat a mysql kliensprogramján keresztül vehetünk fel:

mysql -u root -p
USE mail;

Hozzuk létre azokat a domaineket, amiknek a leveleit fogadni szeretnénk:

INSERT INTO `domains` (`domain`) VALUES ('example.com');

Majd hozzunk létre egy felhasználót is:

INSERT INTO `users` (`email`, `password`, `quota`) VALUES ('sales@example.com', ENCRYPT('secret'), 10485760);

A quit; paranccsal léphetünk ki:

quit;

Használhatjuk a phpMyAdmint is a felhasználók felvételéhez, amit a http://192.168.0.100/phpmyadmin/ vagy http://server1.example.com/phpmyadmin/ címen érhetünk el
Arra ügyeljünk, hogy a jelszónál a Funkciók közül válasszuk ki az ENCRYPT-et (mint ahogy a képen) különben nem lesz jó a jelszó kódolása!
phpMyAdmin: Jelszó kódolása

Ha felhasználókat vettünk fel, vagy módosítottunk, akkor azt a postfix tudomására kell hozni:

postfix reload

A kvóta méretét bájtban adjuk meg!

57 thoughts on “Postfix, Courier virtuális felhasználókkal

  1. Azért szerintem igazán illett volna megadni a forrást: http://www.howtoforge.com, ha már egy-az-egyben lemásoltál mindent, még az illusztrációt is. (Jó, lefordítottad szépen, köszönet érte, jól jöhet talán valakinek.)

  2. nem szoszerinti forditas. a parancsok bemasolasa meg nem forditas. a képeket télleg onnét vettem (és az ötleteket is, igaz), de majd csinalok saját képet.
    mit értesz egymás alá tagoláson? azt, hogy huz kozottuk egy vonalat? szerinted, hogy volna szép, s jó?

  3. Sziasztok!
    Megcsináltam mindent ahogy leírta, és nem tudok belépni… Az outlooknál állandóan kéri újra a felhasználónevet és a jelszót… Mindent ugyan úgy csináltam, és 3x már megcsináltam újra és így sem megy… SEGÍTSEN VALAKI PLEASE!!!!!!

  4. a felhasználonevnel a teljes mail cimet adtad meg?
    a /var/log/mail.log-ba mi van?
    benne lesz, hogy mi a baja

  5. Sziasztok nekem is van vele gondom. Az Evolution-al nem tok belépni a postfix és a courier arra panaszkodik csak, hogy nem sikerült belépni … LOGIN FAILED username=guardian ip[******] stb… tud valaki segíteni hogy mi lehet a gond? lehet, hogy rosszul adtam meg az evo.-ban a dolgokat?!?! előre is thx. Sziasztok

  6. Én már 3 napja szívok ezzel (Ubuntu 6.06 LTS Server Dapper Drake). Végigjátszottam már legalább 3 leírást a beállítások terén, így jutottam el ehhez. Eddig mondjuk legalább, amit pl.: gmail alól küldtem, az megérkezett a szerverre, most már azt is visszapattintja 🙁 De a POP3 volt az elsődleges cél, aztán megyünk tovább, ha már legalább annyi megy. Ez alapján is végig mentem a beállításokon (szinte minden így volt már), mégsem tudom lekérdezni Windows alól POP3-al.
    Window Live Mail POP3 login:
    Név: name@domain.hu (tehát teljes e-mailt adok meg)
    jelszó: jelszo
    Kiszolgáló válasza: -ERR Login failed.
    /var/log/mail.log:
    courierpop3login: LOGIN FAILED, ip=[::ffff:92.249.159.31] – sokat segít 🙁
    Többször átírtam a jelszót phpmyadminnal, mindig használtam az ENCRYPT-et a megadásnál, és persze ugyanezt a jelszót adtam meg a POP3-as lekérdezésnél is (mármint az ENCRYPT elkódolása előttit, mielőtt valaki megkérdezi :))
    Valami ötlet?

  7. Itt a megoldas fiuk
    To place the saslauthd socket inside the Postfix chroot, edit
    /etc/default/saslauthd and set OPTIONS like this (you may omit -c):
    OPTIONS=”-c -m /var/spool/postfix/var/run/saslauthd”
    To set the run directory using dpkg-statoverride, run this command as root:
    dpkg-statoverride –add root sasl 710 /var/spool/postfix/var/run/saslauthd
    Finally, to add the postfix user to the sasl group:
    adduser postfix sasl

  8. Ja es meg valami
    nano /etc/courier/authmysqlrc
    MYSQL_SERVER localhost nem localhost 😛
    hanem 127.0.0.1

  9. Valaki tudna segíteni? AZ authentikáció az jó meg minden, de ha új felhasználót veszek fel akkor nem készül el a megfelelő fiók a merevlemezen (vmail üres marad). Gondoltam kézzel megcsinálom, de úgy se volt jó (megfelelő jogosultság, meg a végén maildirmake felhasznalo siman). Tudtok segíteni mit nem csinálok megfelelően? Vagy ha legalább azt meg tudná mondani valaki hogy használjam a maildirmake parancsot, vagy konkrétan a postfixnek mikor is kellene létrehozni a felhasnzálói fiókokat?
    Debian alatt is végig csináltam mindezt de ott se akart menni.
    A segítséget előre is nagyon köszönöm!!!

  10. mailx -el küldtem egy üdvözlő üzenetet. Semmi se készült el 🙁
    Most annyira jutotam már hogy maildirmake -val készült fiókba be tudok lépni pop3 -al de semmi se érkezik meg. 😐
    Na még egy hetet próbálkozom 😀

  11. Szia!
    Olvasom a hozzászólásokat, és eléggé kiakasztó, hogy itt vagy Te és veszed a fáradtságot, lefordítod akárhonnan is származzon a forrás. Ezer köszönet érte!!
    Ezért áldani kellene Téged emberek, nem pedig azért ugatni hogy miért nem tüntette fel a forrást! Ugyan már!!
    Továbbra is várjuk az írásaidat, hatalmas jó ez az oldal amit készítettél!

  12. Hali!
    Először is köszi a leírást! Mindent végigcsináltam de nekem sem megy.
    Mindig azt írja ki, hogy hibás jelszó vagy felhasználónév. Megnéztem a log fájlt is.ez van benne:
    LOGIN FAILED, user=gzoli, ip=[::ffff:10.0.10.202]
    authentication error: Input/output error.
    megcsináltam az is amit energynetwork írt, de így sem megy 🙁
    Tudna valaki segíteni? Nagyon fontos lenne, hogy működjön.
    Látom elég régen nem volt itt senki de hátha valaki erre jár mégis. 🙂
    Előre is köszi.

      1. 8.04. 64 bites verzió. A sambat és az apache-t mysq-el sikerült beállítani.
        Már csak ez hiányzik…
        Meg majd talán még FTP 🙂 De az nem annyira fontos

  13. Én squirremaillel probálok belépni sajat szerveremen, de , de ezt irja ki: ERROR: Connection dropped by IMAP server.

    1. /var/log-ban keresd meg a mail.logot, ott kiírja majd, hogy miért dobta el a szerver a kapcsolatot.

      1. Hello!
        Ez a beállítás nekem sem akar működni. Pedig már egy csomó mindent kipróbáltam. a mail logban csak annyi van, hogy LOGIN FAILED, hogy miért az nem.
        Közben rájöttem, hogy az az egyik baj, hogy nem futtatja le az adatbázison a parancsokat. Bekapcsoltam a mysql loggolást, de mikor megpróbálok bejelentkezni a levelezőserverre a mysql logban nem jelenik meg semmi. De mikor közvetlenül kiadom az SQL parancsokat minden ott van benne. Ennek mi lehet az oka?

  14. GZolee79
    kuldj magdnak mailx el egy mailt csak az a bajh meg nem letezik a konyvtar fentebb amr meg volt emlitve ez de az a gaz ha a squirrelmail dob vissza

    1. Hali!
      Kösz a választ!
      Időközben sikerült megoldani. Igaz nem virtuális felhasználókkal, hanem sima linux userekkel.
      Úgy csináltam, hogy 1 felhasználónak a maildirmake -kel (ezt apt-get -tel le kellett tölteni mert alapból nincs benne) létrehoztam egy Maildirmake könyvtárat mindenkinek a home mappájában, mert addig nem tudtam bejelentkezni a sqirrelmaillal sem!
      De miután ez megtörtént a többinek már létrehozta.
      Szerinted így működne virtuális felhasználokkal is?

      1. szia
        nem tudom h mukodne e virtualis userekkel ez a megoldas
        en most tettem pont egy servert ez alapjan: http://www.howtoforge.com/virtual-users-domains-postfix-courier-mysql-squirrelmail-ubuntu8.10 es minden megy jol.
        itt is az volt a baj csak h nem jott letre a konyvtar csak mikor megerkezik egy mail
        onnan gondoltam ez lehet nallad is,kicsit szivtam en is vele mert egybol squirrel akartam probalni, de nem lepett be aztan kiderult h az a gaz h nincs meg meg a konyvtar,
        de csinaltam egy servert sima userokal is, ott sem volt baj letrejottek a userkonyvtarak pontosabban a userkonyvtarban a Maildir konyvtar ,ott nem utkoztem bele ebbe mert nem volt webes resz u h egybol mailx probaltam, de pop3 nal is es a gaz ha lekered es nincs meg meail hibat ad,mondjuk ez logikus mert az ia a pop3/imap klienst hasznalja
        ha nem jonnek letre a konyvtarak jogosultsag problemak vannak ott valamit nem alitottal be jol
        a jogokal, arra nagyon oda kell figyelni
        csinaltam egyet servert centos5-on is azaz probaltam ilyen virtualist de ott nem iskeredett nem tudtam osszehozni a jogokat a postfix es a dovecot kozt es jo leirast sem kaptam,
        ott en is letezo userokal oldottam meg vegul
        az a fenti link jo leiras figyelmesen vegigcsinalva mukodik
        szok szerencset visiznt ha valami gond van irj nyugodtan hatha tobb szem alapon rajovunk
        szep napot
        szeva

      2. Hali!
        Nem hiszem, hogy a jogosultságokkal gond lett volna, mert akkor, akkor sem hozta, volna létre, ha küldök egy mailt. A baj, az volt, hogy először el sem tudtam jutni a küldésig, mert be sem jelentkezett a thunderbird. Igaz a mailx-szel nem is próbáltam. Viszont valami mással igen aminek már nem emlékszem a nevére 🙂 Akkor sem jött létre a könyvtárt.
        Mindenképpen kellett a maildirmake. Egyenlőre virtuális userekkel egy darabig nem próbálom ki, de mindenképpen érdekel 🙂
        De ha már itt vagyok lenne még egy kérdésem ha nem bánod 🙂
        Az a lényeg, hogy most minden mappa, úgy van, hogy mindegyik mappa a beérkezett üzenetek almappája.
        Hogy lehetne azt megcsinálni, hogy a piszkozat, elküldött elemek, meg a törölt üzenetek is főmappák legyenek?
        Előre is köszi
        Hali

  15. Sziasztok! Lehet, hogy hülyeséget mondok, de nekem úgy sikerült megoldanom a hitelesítést, hogy ezt a leírást összehasonlítottam az eredetivel (howtoforge-os) és megnéztem azokat a részeket, amit nekem kellett volna kitöltenem agy átírnom. Ebben a leírásban, -amit természetesen nagyon köszönök- a konfigfájlokban a felső vesszők ´ ilyenek. Ezt sajnos nem eszi a mysql, a sima ‘ felső aposztróf kell, ahogy a howtoforge-os leírásban szerepel… Ezért nézzétek át a 6 konfigfájlt, a *.cf végűeket és a authmysqlrc-t, majdjavítsátok ki őket. Ezzel és “energynetwork” leírásával nekem megoldódott az authentikációs nyavalya. Bocsi a pongyola megfogalmazásért, nagyon kezdő vok még! Üdv és sok szerencsét!

  16. Sziasztok! Ünnepek alatt egy teljesen új 8.10-es ubuntu szervert telepítettem. A fentebb említett angol oldalt. Ebben a magyar leírásban tényleg gondok vannak az aposztrófokkal. Az angol leírásbol a spam és vírus szűrést kihagytam. Itt a hozzászólásokban írt javaslatok közül egyiket sem hajtottam végre.
    Működik a virtuális felhasználókkal a rendszer.
    Egyetlen egy trükkje van. Ahol a felhasználókat inser-álja az sql-be ott a transport táblába beszúrást ne csináljuk meg. Vagy megfelelően módosítani.
    Természetesen domaintld stb.. helyekre jó adatot kell beírni.
    Azóta a ddclien fetchmail procmail is beüzemelésre került.

  17. Kerdes
    ha csak a telnet localhostra mukodnek a dolgok az gondot jelent e?
    meg nincs meg a FQDN csak a fix ip-m
    Gyozti

    1. Helló!
      Hogy érted, hogy a telnet csak localhostra működik? A legtöbb esetben nem gond az FQDN hiánya.

  18. hello!
    Koszi, a valaszt
    A tuzfalam jatszott velem.
    de van egy masik gondom, thunderbir-l nem tudok csatlakozni az smtp szerverre, sem a pop3-ra. Az ertem alatta, hogy hiaba adom meg , hogy office felhasznalo de nem fogadja el a jelszavat s akov uzenetet adja: sending did not succesd. ha tudnal segiteni orvendenek neki.
    elore is koszi

    1. a /var/log/mail logokat nézd meg (mail.err, meg minden amiben szerepel a mail)
      Benne lesz, hogy miért nem tud belépni.

  19. Hello Charlie!
    Authentication error-t ad. -> nem ismeri fel az adatbazisba betett felhasznalot es jelszot?!

  20. az a bibi, hogy 7.x ubuntun sima ügy, megy minden, de 8.04 szervernél pl a postfix source résznél már problémáim vannak, valamint a maildir NEM változik meg a /var/mail-ről a nálam megszokott /home/vmail/_virtual_email_domain_ helyre…
    rendesen 3 napja szívok vele.
    downgrade lesz a vége, erősen úgy érzem.

  21. NEM IGAAAAAAAAAAAAAAZ
    EZ XAAAARRRRRRR
    ilyen nincs hogy leírtak alapján csináltam és egy kbiaxott VPS-en se akar menni, charlie, csináld meg nekem mert kibaxottul ideg vagyok
    holnap tied, mert fut rajta most más szero, és nem akarom leállitani, emailben holnap kapsz adatokat amint felveszed a kapcsit velem
    outlook ezt dobja ki: Hiba történt a levelezési kiszolgálóra kapcsolódáskor. A jelszó visszautasítva. Fiók: ‘xyyyy’, Kiszolgáló: ‘xyyy’, Protokoll: POP3, Kiszolgáló válasza: ‘-ERR Temporary problem, please try again later’, Port: 110, Biztonságos (SSL): Nem, Kiszolgálóhiba: 0x800CCC90, Hibaszám: 0x800CCC92
    a domain cimet direkt nem irtam ki
    csináld meg pls

  22. [re=3836]Zsolt[/re]:
    Ha még érdekel a fetchmail, akkor mesélek.
    A postfixadmin tudja vezérelni, benne található meg a /usr/share/doc/postfixadmin/ADDITIONS/fetchmail.pl
    ezt kell átmásolni a /usr/share/postfixadmin/ADDITIONS/fetchmail.pl -be, ha ott nem volt ilyen.
    Aztán átírni a $database $hostname $user változók értékét a megfelelőre, jah és nem árt meg egy $passwd-t és $vmail_dir -t is felvenni a megfelelő értékkel, mert ezek nincsenek alapból 🙂
    Ezek után csinálni erre a fájlra egy cron bejegyzést
    pl:
    * * * * * vmail if [ -x /usr/share/postfixadmin/ADDITIONS/fetchmail.pl ]; then nice -n15 /usr/share/postfixadmin/ADDITIONS/fetchmail.pl; fi
    Ami még fontos: a Postfix Admin 2.3 beta minimális verzió amivel rendesen megy 😉
    sok sikert

  23. [re=4605]Fülike[/re]: Szia! Köszi a választ… meg is fogom próbálni, de sajna nem megy az IMAP kívüről, és az most az első, hogy megoldjam. Az MX rendben van, és valószínű hogy a tűzfalon kell módosítani…most ezzel küzdök .. de ez nem ebbe a fórumba való…. köszi +1x…

  24. Köszi a leírást!
    Bár én a howtoforge oldalán lévő debian lenny verziót követtem.
    A problémám azzal is, hogy a /var/mail-ra mennek az emilek!
    Illetve a quota.txt már nem elérhető az említett hivatkozáson!
    Az sql adatbázisba a domain nevét nem úgy kell felvenni, ahogy itt és a howtoforge leírásban szerepel, hanem .example.com-al! Kell az elejére a pont!
    Vana valami ötlet, hogy miért a /var/mail-ba mennek a levelek és nem a /home/vmal alá?

  25. [re=9651]itanczos[/re]: Szia,
    postfix esetén, így tuti megy:
    /etc/postfix/main.cf-> virtual_mailbox_base = /ahova/akarod
    Nálam érdekes mód nem kell az a pont, igaz, nem lenny, hanem hardy a rendszer 🙂

  26. [re=9656]Fülike[/re]:
    Köszi, de mint Te is láthatod, ez szerepel a leírásban és nálam is!
    Sajna nem ez a megoldás… 🙁
    Az eredeti angol forrásnál is sokan panaszkodnak erre!
    A dovecot telepítésnél meg kell adni a postfix-nek, hogy maildir struktúrát használjon. Ráadásul a procmail a levél kézbesítő. Annak nem kellene megadni??? (Dovecot-nál kell a procmailrc-ben egy sor.)

  27. Köszi a választ, de azóta továbbképeztem magam Debian irányban és minden rendben működik (FreeBSD tűzfalat csináltam és azt kellett jól beállítani), egyébként ez a leírás jó és köszönet érte, egyszerűbb megoldásokhoz kis irodai célra tökéletes. Ha megtennéd, hogy a következő “hogyant” a (workaround ) ről is készítsd el, hátha a kettő leírás alapján a Linuxra vágyók jobban el tudnak igazodni. Még egyszer köszi a segítséget és ha segítség kellene valakinek Mail, FTp, WEB, Samba, Bind, Print, VPN, (Debian) szerverekben akkor szívesen segítek elindulni.

  28. Semmi okosság nincs a problémámra? Továbbra sem teszi be a vmail mappába, hanem csak a /var/mail-ba a leveleket. 🙁

  29. Na, megvan a megoldás!!!
    Egy sor hiányzik az /etc/postfix/main.cf -ből!
    Mégpedig ez:
    mailbox_transport = virtual
    Illetve az alábbit ki kell kommentezni:
    mailbox_command = procmail -a ….
    A postfix újraindítása után egyből létrejönnek a mail könyvtárak és megy is mint a karikacsapás Lenny alatt is! 🙂

  30. [re=9738]itanczos[/re]: Én is szívtam vele rendesen de ez a megoldás segített! Millió köszönet érte!

  31. Most már “csak” az a gond, hogy ha levelet küldök “kívülről” akkor az nem érkezik meg.
    mail for servername.domain.hu loops back to myself
    Ha mailx-szel küldök levelet szerverről helyi fiókba akkor OK.

  32. Üdv!
    Prolémám van a confal még csak ott tartok, hogy
    /etc/init.d/postfix restart —->ez OK
    /etc/init.d/saslauthd restart
    /etc/default/saslauthd: 4: Syntax error: Unterminated quoted string
    Itt mi lehet a baj?
    Mindent a leírás alapján csináltam ugyan már 2.7.0 postfix és a hozzá valao pach meg persze még pár a fordításhoz-pach-hez szökséges csomag is ujabb de alapjában minde ugya így zajlott…
    Mi lehet a baj? google nem soka okosat súgot…. 🙁
    THX!

  33. [re=11558]Ifj. Kiss István[/re]: Szerintem valamelyik állományodban idézőjel probléma van.
    Nézd át még egyszer a
    /var/spool/postfix/var/run/saslauthd -t és a
    /etc/postfix/sasl/smtpd.conf -t

  34. [re=11560]kunci[/re]:
    Helló!
    Problem :/etc/default/saslauthd fájlban.
    START=yes
    PWDIR=”/var/spool/postfix/var/run/saslauthd”
    PARAMS=”-m ${PWDIR}”
    PIDFILE=”${PWDIR}/saslauthd.pid”
    MECHANISMS=”pam”
    MECH_OPTIONS=””
    THREADS=5
    OPTIONS=”-c -m /var/spool/postfix/var/run/saslauthd”
    és már megy is…
    THX.

  35. Helló!
    Újabb problem:
    felraktam az atmailopen-t webfelületnek… nem enged be.
    Server responded: -ERR Login failed
    Akkor terminal:
    mutt -f imap://admin@sajatdomai.org@sajatdomain.org
    Hitelesítés? igen
    tanúsítvány elfogadása mindíg
    jelszó…. megadva
    bejelentkezés (PLAIN)….
    Sikertelen bejelentkezés.
    ????
    WHY?

  36. Sziasztok!
    Egy kis segítséget szeretnék kérni.
    Ezzel az összeállítással a következő problémába futottam bele:
    Belső hálózatról minden rendben van, viszont ha egy távoli helyről próbálok mailt küldeni idegen címre, akkor “5.7.1 Relay access denied” hibát kapok.
    Valakinek van ötlete?

Vélemény, hozzászólás?

Az email címet nem tesszük közzé. A kötelező mezőket * karakterrel jelöltük

Ez az oldal az Akismet szolgáltatást használja a spam csökkentésére. Ismerje meg a hozzászólás adatainak feldolgozását .