В нов терминал да изпълним следната команда
# tail -f /var/log/mail.log
В този терминал на практика ще се гледа какви отговори дава сървъра след наши команди. Сега да изпратим съобщение до tachko@home.tlan.net от първия терминал
# echo test | mail tachko@home.tlan.net -bash: mail: command not found
Това е така защото не е инсталиран пакета mailutuls. Да го инсталираме:
# apt-get install mailutils
Наново тест с изпращане на мейл
# echo test | mail tachko@home.tlan.net Feb 24 18:48:44 home dovecot: imap-login: Disconnected (auth failed, 1 attempts in 2 secs): user=<tachko@home.tlan.net>, method=PLAIN, rip=::1, lip=::1, secured, session=<TkKtDPhlEKsAAAAAAAAAAAAAAAAAAAAB> Feb 24 18:49:23 home postfix/pickup[4279]: DE8E180AAF: uid=0 from=<root@home.tlan.net> Feb 24 18:49:23 home postfix/cleanup[4617]: DE8E180AAF: message-id=<20180224164923.DE8E180AAF@home.tlan.net> Feb 24 18:49:23 home postfix/qmgr[886]: DE8E180AAF: from=<root@home.tlan.net>, size=315, nrcpt=1 (queue active) Feb 24 18:49:23 home postfix/trivial-rewrite[4618]: warning: do not list domain home.tlan.net in BOTH mydestination and virtual_mailbox_domains Feb 24 18:49:23 home postfix/local[4622]: DE8E180AAF: to=<tachko@home.tlan.net>, relay=local, delay=0.01, delays=0.01/0/0/0, dsn=2.0.0, status=sent (delivered to mailbox) Feb 24 18:49:23 home postfix/qmgr[886]: DE8E180AAF: removed
Изпратихме писмо до tachko@home.tlan.net от името на root Рестартираме PostFix и Dovecot
# service postfix restart # service dovecot restart
И сега ако влезем в пощенската кутупя примерно чрез RoundCube ще видим, че няма никакво писмо. Нарочно направихме тази грешка за да се проследи технологията на отстрняване на грешки. Първо правило. Винаги гледайте логовете. Линукс операционните системи имат уникалната функция да записват всяко свое действие в логове. Второ правило. Ако нещо не е ясно ползвайте GOOGLE "То знае всичко" И така водейки се от правилата изпълняваме първа точка:
Чистим логовете да са празни:
# > /var/log/mail.log # > /var/log/mail.err
Пращаме наново тестово писмо от root
# echo test | mail tachko@home.tlan.net
И проверяваме логовете
#cat /var/log/mail.log Feb 24 19:26:35 home postfix/qmgr[5033]: F392780AAF: from=<root@home.tlan.net>, size=315, nrcpt=1 (queue active) Feb 24 19:26:35 home postfix/trivial-rewrite[5309]: warning: do not list domain home.tlan.net in BOTH mydestination and virtual_mailbox_domains Feb 24 19:26:35 home postfix/local[5310]: F392780AAF: to=<tachko@home.tlan.net>, relay=local, delay=0.03, delays=0.02/0.01/0/0, dsn=2.0.0, status=sent (delivered to mailbox) Feb 24 19:26:35 home postfix/qmgr[5033]: F392780AAF: removed Feb 24 19:26:40 home dovecot: imap-login: Login: user=<tachko@home.tlan.net>, method=PLAIN, rip=::1, lip=::1, mpid=5312, secured, session=<crt7lPhl2KsAAAAAAAAAAAAAAAAAAAAB> Feb 24 19:26:40 home dovecot: imap(tachko@home.tlan.net): Logged out in=50 out=511 Feb 24 19:26:44 home dovecot: imap-login: Disconnected (auth failed, 1 attempts in 2 secs): user=<tachko@home.tlan.net>, method=PLAIN, rip=::1, lip=::1, secured, session=<4x2alPhl2qsAAAAAAAAAAAAAAAAAAAAB>
Издайнически лог ;). - казва, че липсва home.tlan.net в mydestination и таблицата virtual_mailbox_domains - не е успял да направи връзка през IMAP
По първия проблем, проверяваме mydestination
# postconf | grep mydest mydestination = $myhostname, home.tlan.net, localhost.tlan.net, , localhost 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 $smtpd_sender_login_maps $sender_bcc_maps $recipient_bcc_maps $smtp_generic_maps $lmtp_generic_maps $alias_maps $smtpd_client_restrictions $smtpd_helo_restrictions $smtpd_sender_restrictions $smtpd_relay_restrictions $smtpd_recipient_restrictions relay_domains = ${{$compatibility_level} < {2} ? {$mydestination} : {}}
Едно уточнение, по време на инсталацията на PostConf имаше момент когато трябваше да се укаже хост с пълното име. Пример:
# vi /etc/postfix/main.cf # вътре има ред: mydestination = $myhostname, home.tlan.net, localhost.tlan.net, , localhost # Трябва да изглежда mydestination = $myhostname, home.home.tlan.net, localhost.tlan.net, , localhost
Името на домейна е home.tlan.net, името на хоста е home, и домейна сме го описали като tlan.net. На практика FQDN ни се получава home.tlan.net както името и на домейна. Нарочно е направена грешката за да покажа как се оправя проблема. Единия начин е: сменя се името на домейна да е home.tlan.net. Хоста се казва home, и FQDN ще се получи home.home.tlan.net. За втория начин да видим в GOOGLE какво пише: https://forum.linode.com/viewtopic.php?f=11&t=11304. Предлага ни mydestination = localhost, само това. По повод липсата на запис в таблицата virtual_mailbox_domains, трябва да сме сигурни, че не е така защото правихме тестове и видяхме, че съществува този запис още когато създавахме таблиците и ги запълвахме. И така да редактираме mydestination
# vi /etc/postfix/main.cf # mydestination = $myhostname, home.tlan.net, localhost.tlan.net, , localhost mydestination = localhost
Рестартираме PostFix и Dovecot
# service postfix restart # service dovecot restart
Чистим логовете
# > /var/log/mail.log # > /var/log/mail.err
Пращаме тестово писмо от root
# echo test | mail tachko@home.tlan.net
Проверяваме логовете
#cat /var/log/mail.log Feb 24 20:58:31 home postfix/pickup[6306]: 3E3DB80AAF: uid=0 from=<root@home.tlan.net> Feb 24 20:58:31 home postfix/cleanup[6348]: 3E3DB80AAF: message-id=<20180224185831.3E3DB80AAF@home.tlan.net> Feb 24 20:58:31 home postfix/qmgr[6307]: 3E3DB80AAF: from=<root@home.tlan.net>, size=315, nrcpt=1 (queue active) Feb 24 20:58:31 home dovecot: lmtp(6351): Connect from local Feb 24 20:58:31 home dovecot: lmtp(tachko@home.tlan.net): rRsQEte1kVrPGAAAyjHCYw: sieve: msgid=<20180224185831.3E3DB80AAF@home.tlan.net>: stored mail into mailbox 'INBOX' Feb 24 20:58:31 home dovecot: lmtp(6351): Disconnect from local: Successful quit Feb 24 20:58:31 home postfix/lmtp[6350]: 3E3DB80AAF: to=<tachko@home.tlan.net>, relay=home.tlan.net[private/dovecot-lmtp], delay=0.08, delays=0.02/0.02/0.02/0.03, dsn=2.0.0, status=sent (250 2.0.0 <tachko@home.tlan.net> rRsQEte1kVrPGAAAyjHCYw Saved) Feb 24 20:58:31 home postfix/qmgr[6307]: 3E3DB80AAF: removed
Ако пробваме сега през браузъра да влезем в електронната си поща то писмото вече ще е пристигнало
За домашно: - да се достъпи пощата в локалната мрежа през mail клиент, а не през WEB. При проблеми можете да пишете на обичайния адрес tachko@tachko.com.