Образовательный проект «SnakeProject» Михаила Козлова

Навигация

⇒ FreeBSD and Nix ⇐

CISCO

Voice(Asterisk\Cisco)

Microsoft

Powershell

Python

SQL\T-SQL

Общая

WEB Разработка

ORACLE SQL \ JAVA

Мото

Стрельба, пневматика, оружие

Саморазвитие и психология


FreeBSD: postfix, dovecot



Простой пример dovecot и postfix

 

pkg install postfix dovecot-managesieve

vi /usr/local/etc/dovecot.conf
ssl = no

vi /usr/local/etc/postfix/main.cf
resolve_numeric_domain = yes


echo 'postfix_enable="YES"' >> /etc/rc.conf
echo 'dovecot_enable="YES"' >> /etc/rc.conf

service postfix start
service dovecot start

pw useradd admin -m
passwd admin
pw useradd mailuser
passwd user

newaliases

Можно подключиться почтовым клиентом к pop или imap

Указать логин и пароль учетки и отослать письмо


---------------------------------------------------------------------------------

 

FreeBSD: postfix, dovecot


# POSTFIX SMTP SERVER

/etc/rc.conf
sendmail_enable="NO"
sendmail_submit_enable="NO"
sendmail_outbound_enable="NO"
sendmail_msp_queue_enable="NO"


killall sendmail


cd /usr/ports/mail/postfix && make all install clean
[x] BDB         Berkeley DB support     
[x] TLS         Secure network connection support via TLS  

Would you like to activate Postfix in /usr/local/etc/mail/mailer.conf [n]? yes


/etc/rc.conf
postfix_enable="YES"
dovecot_enable="YES"


cd /usr/local/etc/postfix
cp main.cf main.cf.ORIG
cp master.cf master.cf.ORIG


pw groupadd vpostfix && pw useradd vpostfix -g vpostfix -s /usr/sbin/nologin -c "Virtual Postfix user" -d /var/empty
grep vpostfix /etc/passwd
# vpostfix:*:1002:1002:Virtual Postfix user:/var/empty:/usr/sbin/nologin


main.cf:
myhostname = test.local
mydomain = test.local
myorigin = $mydomain
inet_interfaces = all
home_mailbox = Maildir/


# myhostname = test.local - FQDN name of server

# Далее добавьте в конец файла

# Virtual domain config
virtual_mailbox_domains = /usr/local/etc/postfix/virtual_domains
virtual_mailbox_base = /var/mail/vhosts
virtual_mailbox_maps = hash:/usr/local/etc/postfix/vmailbox
# Make sure you replace these UID:GID numbers
virtual_minimum_uid = 1002
virtual_uid_maps = static:1002
virtual_gid_maps = static:1002
virtual_alias_maps = hash:/usr/local/etc/postfix/virtual


cd /usr/local/etc/postfix/ && touch virtual_domains
virtual_domains:
virtual-test1.local
virtual-test2.local

# Создайте почтовый каталог, каталоги для виртуальных доменов
mkdir /var/mail/vhosts
chgrp -R vpostfix /var/mail
cd /var/mail/vhosts
mkdir virtual-test
cd ..
chown -R vpostfix:vpostfix vhosts


Postfix создаст каталог "Maildir" автоматически и назначит разрешения
Это произойдет, как только электронная почта придет в место назначения

touch /usr/local/etc/postfix/vmailbox
# добавьте всех пользователей, которые получат электронные письма
# пользователи виртуальные, добавлять в систему их нет нужды
user1@virtual-test1.local       virtual-test1.local/user1/
user2@virtual-test1.local       virtual-test1.local/user2/
@virtual-test1.local            virtual-test1.local/catch-all/
user3@virtual-test2.local       virtual-test2.local/user3/


touch /usr/local/etc/postfix/virtual
cd /etc
postalias aliases

postmap /usr/local/etc/postfix/virtual
postmap /usr/local/etc/postfix/vmailbox

postconf mydomain


service postfix start
service postfix status


tail /var/log/maillog
postfix/postfix-script starting the Postfix mail system
postfix/master daemon started configuration /usr/local/etc/postfix

    
ps -waux | grep postfix
sockstat -4 | grep :25


tail -f /var/log/maillog


# Открываем вторую сессию и вводим тестовое письмо
# В первом терминале наблюдаем логи
telnet localhost 25
ehlo mail.test.local
mail from: user3@virtual-test2.local
rcpt to: user2@virtual-test1.local
data
Hello user2!
.
quit


ls -l /var/mail/vhosts/virtual-test1.local/user2/new/
total 4
-rw-------  1 vpostfix  vpostfix  440 Sep  4 16:19 153.VI28.test.local


cat /var/mail/vhosts/virtual-test1.local/user2/new/153.VI28.test.local
Return-Path: <user3@virtual-test2.local>
X-Original-To: user2@virtual-test1.local
Delivered-To: user2@virtual-test1.local
Received: from mail.test.local (localhost [127.0.0.1])
        by test.local (Postfix) with ESMTP id 8A434152F2
        for <user2@virtual-test1.local>; Tue,  4 Sep 2018 16:18:24
Message-Id: <201809.8A43@test.local>
Date: Tue,  4 Sep 2018 16:18:24

 


# DOVECOT IPAMP POP


# Без шифрования, аутентификация по логину\паролю (в качестве логина и пароля файл)


cd /usr/ports/mail/dovecot/ && make install clean
[x] VPOPMAIL        vpopmail support    
[x] DOMAIN_QUOTAS   Domain quotas support  


echo 'dovecot_enable="YES"' >> /etc/rc.conf


cd /usr/local/etc/dovecot
cp -R example-config/* .


dovecot.conf:
protocols = imap pop3 lmtp
listen = *


conf.d/10-auth.conf
disable_plaintext_auth = no
#!include auth-system.conf.ext
!include auth-passwdfile.conf.ext

conf.d/auth-passwdfile.conf.ext
passdb {
  driver = passwd-file
  args = scheme=CRYPT username_format=%u /usr/local/etc/dovecot/users
}
 
userdb {
  driver = passwd-file
  args = username_format=%u /usr/local/etc/dovecot/users
}

conf.d/10-logging.conf
log_path = /var/log/dovecot.log
auth_verbose = no
auth_debug = no
verbose_ssl = no

conf.d/10-mail.conf
mail_home = /var/mail/vhosts/%d/%n
mail_location = maildir:~
mail_uid = 1002    # These are the GID and UID numbers for vpostfix
mail_gid = 1002    # Don't just put these numbers here
mail_privileged_group = vpostfix

conf.d/10-master.conf
unix_listener auth-userdb {
  mode = 0600
  user = postfix
  group =  postfix
}
# Postfix smtp-auth
unix_listener /var/spool/postfix/private/auth {
  mode = 0666
  user = postfix
  group = postfix
}

conf.d/10-ssl.conf    
ssl = no
# ssl_cert = </etc/ssl/certs/dovecot.pem
# ssl_key = </etc/ssl/private/dovecot.pem


База данных пользователя/пароля будет находиться в /usr/local/etc/dovecot/users
Чтобы сгенерировать пароль с помощью схемы паролей SHA512-CRYPT, выполните
doveadm pw -s SHA512-CRYPT
Enter new password:
Retype new password:
{SHA512-CRYPT}$6$AB3WU4ZGs7uPiklW$4hJfOwHDSaMwNxiytBrGYSscDoKERYjfiwxOtPOdfzQTlUZBvAHbMDsCHziKdnqh0HNRC7z293l/HM/dx/Mzt0
doveadm pw -s SHA512-CRYPT
Enter new password:
Retype new password:
{SHA512-CRYPT}$6$rHDtGsYG8ZNzwFjb$5uXvzDeFjCwOUqDHgdrp9oE255EIlRSx3fM6ucfudHPMiFuxKrxLG/2EDVSEcU0.Swv.G.LJignLUrSp35NgS/
doveadm pw -s SHA512-CRYPT
Enter new password:
Retype new password:
{SHA512-CRYPT}$6$grCwr.cG.1x0.zzz$iQQcKXRoQGfNftuSfrn9oAI2eKLkzUybT1j4gI.Iwz5dpMWZ7HLeifbTqOH2QK8qmLcPZYvGZB.LpehS2Nj7./

# Я вбил пароли 111 222 333
/usr/local/etc/dovecot/users
user1@virtual-test1.local:{SHA512-CRYPT}$6$AB3WU4ZGs7uPiklW$4hJfOwHDSaMwNxiytBrGYSscDoKERYjfiwxOtPOdfzQTlUZBvAHbMDsCHziKdnqh0HNRC7z293l/HM/dx/Mzt0::::
user2@virtual-test1.local:{SHA512-CRYPT}$6$rHDtGsYG8ZNzwFjb$5uXvzDeFjCwOUqDHgdrp9oE255EIlRSx3fM6ucfudHPMiFuxKrxLG/2EDVSEcU0.Swv.G.LJignLUrSp35NgS/::::
user3@virtual-test2.local:{SHA512-CRYPT}$6$grCwr.cG.1x0.zzz$iQQcKXRoQGfNftuSfrn9oAI2eKLkzUybT1j4gI.Iwz5dpMWZ7HLeifbTqOH2QK8qmLcPZYvGZB.LpehS2Nj7./::::


service dovecot start
tail /var/log/dovecot.log
Sep 04 17:26:37 master: Info: Dovecot v2.2.35 (b1cb664) starting up for imap, pop3, lmtp
Sep 04 17:26:37 ssl-params: Info: Generating SSL parameters
Sep 04 17:26:38 ssl-params: Info: SSL parameters regeneration completed


Проверка pop3
telnet localhost 110
user user2@virtual-test1.local
pass 222
stat
list
quit

Проверка imap
telnet localhost 143
? login user2@virtual-test1.local 222
? list "" "*"
? logout

 


Комментарии пользователей

Эту новость ещё не комментировалиНаписать комментарий
Анонимам нельзя оставоять комментарии, зарегистрируйтесь!

Контакты Группа ВК Сборник материалов по Cisco, Asterisk, Windows Server, Python и Django, SQL и T-SQL, FreeBSD и LinuxКод обмена баннерами Видео к IT статьям на YoutubeВидео на другие темы Смотреть
Мои друзья: Советы, помощь, инструменты для сис.админа, статическая и динамическая маршрутизация, FreeBSD

© Snakeproject.ru создан в 2013 году.
При копировании материала с сайта - оставьте ссылку.
Весь материал на сайте носит ознакомительный характер,
за его использование другими людьми, автор ответственности не несет.

Рейтинг@Mail.ru
Рейтинг@Mail.ru Яндекс.Метрика





Поддержать автора и проект