Форум русскоязычного сообщества Ubuntu


Увидели сообщение с непонятной ссылкой, спам, непристойность или оскорбление?
Воспользуйтесь ссылкой «Сообщить модератору» рядом с сообщением!

Автор Тема: HowTo. Почтовый сервер Postfix, Courier, MySQL и SquirrelMail (Ubuntu 8,04)  (Прочитано 465537 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн obsessionsys

  • Любитель
  • *
  • Сообщений: 54
    • Просмотр профиля
    • IT-MEHANIKA
Сейчас пишу скрипт автоматического добавления пользователей в БД ну и так далее, будет возможность как просматривать все записи в мускуле так и создавать и удалять пользователей, попробую еще сделать что бы можно было заменить пароль у определенного пользователя....скрипт только на стадии разработки сейчас только работает у меня создание пользователей и просмотр их, в консоле разумеется....как только сделаю полностью, сразу же выложу...

Мне кажется легче веб-форму сделать... Там и визуально всё привлекательней и функционально проще...

Да ты прав, но я еще не очень хорошо знаю php и поэтому пока только вот так получилось, конечно буду стараться модифицировать!!!!
Конечно, если сделаешь вебморду выкладывай, будет полное howto!!! Кому как понравиться!!!

Пользователь решил продолжить мысль 17 Сентября 2009, 08:05:01:
Ну вот пожалуйста выкладываю скрипт!!!
Моя основа - http://sudouser.com/skript-dlya-upravleniya-polzovatelyami-vsftpd.html
Огромный помощник в этом деле - http://www.gentee.ru/programming/syntax/index.htm
А вот сам скрипт
#!/bin/bash


admin_login= #Логин пользователя базы данных mysql как правило root
mysqlbase=mail #Имя базы данных mysql
mail_path="/home/vmail/exemple.com/" #Путь к директориям пользователей виртуальных ящиков
mail_backup_dir="/home/mail_back/" #Путь к резервной копии директорий пользователей
passdigit=6 #Минимальная длинна пароля пользователя в символах
domain=@exemple.com #Имя домена или лучше сказать в нашем скрипте приставка к нашим пользователям

function input_correct_pass { #Функция проверяет корректность пароля сервера mysql
corr=1
while [ "$corr" -ne 0 ];
do
clear
echo "Введите пароль пользователя базы mysql"
read -s admin_pass
mysql -u $admin_login --password=$admin_pass -e exit &> /dev/null
corr=$?
if [ "$corr" -ne 0 ]; then
clear
echo "Вы ввели неправильный пароль!"
echo
fi

done
}

function cor_usr_pass { #Функция проверяет корректность пароля пользователя
numb=${#usr_pass}
while [ -z "$usr_pass" ] || [ "$numb" -lt "$passdigit" ]
do
if [ -z "$usr_pass" ]; then
echo  "Пароль нулевой длинны не допустим"
elif [ "$numb" -lt "$passdigit" ]; then
echo "Длинна пароля должна быть не менее $passdigit символов"
fi
echo "Введите другой пароль"
read -s  usr_pass
numb=${#usr_pass}
done
}

function usr_add { # Функция добавляет нового пользователя в базу mail
clear
read -p "Введите логин нового пользователя почты латинскими буквами" usr
mail_usr=$usr$domain
ctrl_login=`mysql -e "SELECT email FROM users WHERE email='$mail_usr';" -u $admin_login --password=$admin_pass -D $mysqlbase`
ctrl_login=${ctrl_login:9}
while [ -z "$mail_usr" ] || [ "$ctrl_login" == "$mail_usr" ]
do
if [ -z "$mail_usr" ]; then
echo "Логин не может быть пустым"
elif [ "$ctrl_login" == "$mail_usr" ]; then
echo "Пользователь существует"
fi
read -p "Введите логин заново: " mail_usr
ctrl_login=`mysql -e "SELECT email FROM users WHERE email='$mail_usr';" -u $admin_login --password=$admin_pass -D $mysqlbase`
ctrl_login=${ctrl_login:9}
done
#====================================================================================================================================================
echo "Введите пароль для нового пользователя $usr:"
read -s usr_pass
cor_usr_pass
mysql -e "INSERT INTO users (email, password, quota) VALUES('$mail_usr', ENCRYPT('$usr_pass'),10485760);" -u $admin_login --password=$admin_pass -D $mysqlbase&&
clear
echo "Отправляем тестовое письмо на $mail_usr для создания аккаунта"
echo "теперь набирайте текст тестового письма, после окончания нажмите Ctrl+D и Enter"
mailx $mail_usr -s Welcome
clear
if [ "$?" -eq 0 ]; then
clear
echo "Пользователь $usr добавлен успешно и данному отправлено тестовое письмо"
else
echo "Ошибка добавления пользователя $usr"
fi

}

function change_pass { #Функция меняет пароль пользователя
read -p "Для какого пользователя менять пароль: " usr
mail_usr=$usr$domain
ctrl_login=`mysql -e "SELECT email FROM users WHERE email='$mail_usr';" -u $admin_login --password=$admin_pass -D $mysqlbase`
ctrl_login=${ctrl_login:9}
while [ -z "$mail_usr" ] || [ "$ctrl_login" = "$mail_usr" ]
do
if [ -z "$mail_usr" ]; then
echo "Логин не может быть пустым"
elif [ "$ctrl_login" = "$mail_usr" ]; then
echo "Пользователь не существует"
fi
read -p "Введите логин заново: " mail_usr
 ctrl_login=`mysql -e "SELECT email FROM users WHERE email='$mail_usr';" -u $admin_login --password=$admin_pass -D $mysqlbase`
 ctrl_login=${ctrl_login:9}
clear
done
echo "Введите новый пароль для пользователя $usr"
read -s usr_pass
cor_usr_pass
mysql -e "UPDATE mail . users SET password=ENCRYPT('$usr_pass') WHERE (users . email='$mail_usr');" -u $admin_login --password=$admin_pass -D $mysqlbase
if [ "$?" -eq 0 ]; then
clear
echo "Пароль пользователя $usr успешно изменен"
else
echo "Ошибка изменения пароля для пользователя $usr"
fi
}

function del_usr { #Функция удаляет существуюсего пользователя, его директорию и делает резервную копию
read -p "Введите логин удаляемого пользователя: " usr
mail_usr=$usr$domain
ctrl_login=`mysql -e "SELECT email FROM users WHERE email='$mail_usr';" -u $admin_login --password=$admin_pass -D $mysqlbase`
ctrl_login=${ctrl_login:9}
while [ -z "$mail_usr" ] || [ "$ctrl_login" = "$mail_usr" ]
do
if [ -z "$mail_usr" ]; then
echo "Логин не может быть пустым"
elif [ "$ctrl_login" = "$mail_usr" ]; then
echo "Пользователь не существует"
fi
read -p "Введите логин заново: " usr
mail_usr=$usr$domain
ctrl_login=`mysql -e "SELECT email FROM users WHERE email='$mail_usr';" -u $admin_login --password=$admin_pass -D $mysqlbase`
ctrl_login=${ctrl_login:9}
done

mysql -e "DELETE FROM users WHERE (email='$mail_usr');" -u $admin_login --password=$admin_pass -D $mysqlbase&&
tar -cvf $mail_path$usr$(date +%d%m%Y%).tar $mail_path$usr&&
rm -r $mail_path$usr&&
mv $mail_path$usr$(date +%d%m%Y%).tar $mail_backup_dir
if [ "$?" -eq 0 ]; then
clear
echo "Пользователь $usr успешно удален"
else
echo "Ошибка удаления пользователя $usr"
fi
}


function show_all_users { #Функция показывает всех существующих пользователей
clear
mysql -e "SELECT email FROM users;" -u $admin_login --password=$admin_pass -D $mysqlbase
}

input_correct_pass
clear
echo
new_usr="Создать_нового_пользователя"
chpass="Изменить_пароль_пользователя"
rmusr="Удалить_пользователя"
delback="Удалить_резервную_копию_ящиков_пользователей"
show_users="Показать_список_всех_пользователей"
ext="Выход"

select opt in $new_usr $chpass $rmusr $delback $show_users $ext ; do
if [ "$opt" = "Создать_нового_пользователя" ]; then
usr_add
elif [ "$opt" = "Изменить_пароль_пользователя" ]; then
change_pass
elif [ "$opt" = "Удалить_пользователя" ]; then
del_usr
elif [ "$opt" = "Удалить_резервную_копию_ящиков_пользователей" ]; then
clear&&rm -rfv $mail_backup_dir*
elif [ "$opt" = "Показать_список_всех_пользователей" ]; then
show_all_users
elif [ "$opt" = "Выход" ]; then
clear
exit
else
clear
echo "Допускаются цифры от 1 до 6"
echo "Для возврата в меню нажмите Enter"
fi
done


Пользователь решил продолжить мысль 17 Сентября 2009, 10:09:56:
Забыл добавить!!! В шапке скрипта надо изменить на свои параметры, и дать права на файл запуска, а потом запускать!!!
« Последнее редактирование: 17 Сентября 2009, 10:09:56 от obsessionsys »
Что бы хорошее становилось лучшим, а лучшее - совершенным!

Оффлайн magistr

  • Новичок
  • *
  • Сообщений: 3
    • Просмотр профиля
Добрый день народ :)
ставлю сервак по статье из первого постав..


вот такая вот ошибочка вылетает
root@server:~# spamassassin —lint
[6642] warn: archive-iterator: unable to open —lint: No such file or directory
как побороть?

так же если пропустить этот шаг дальше возникает проблемма
root@server:~# telnet localhost 25
Trying 127.0.0.1...
Connected to localhost.
Escape character is '^]'.
 и на этом всё.. зависает


кстати ставлю не 2.5.1. как в статье а по аналогу 2.5.5 но разницы я так понимаю принципиальной нет
подскажите как бороться с этой багой?

OS Ubuntu 8.10 Server Edition
« Последнее редактирование: 18 Сентября 2009, 11:37:08 от magistr »

Оффлайн obsessionsys

  • Любитель
  • *
  • Сообщений: 54
    • Просмотр профиля
    • IT-MEHANIKA
Добрый день народ :)
ставлю сервак по статье из первого постав..


вот такая вот ошибочка вылетает
root@server:~# spamassassin —lint
[6642] warn: archive-iterator: unable to open —lint: No such file or directory
как побороть?

так же если пропустить этот шаг дальше возникает проблемма
root@server:~# telnet localhost 25
Trying 127.0.0.1...
Connected to localhost.
Escape character is '^]'.
 и на этом всё.. зависает


кстати ставлю не 2.5.1. как в статье а по аналогу 2.5.5 но разницы я так понимаю принципиальной нет
подскажите как бороться с этой багой?

OS Ubuntu 8.10 Server Edition

Посмотри файл /etc/spamassassin/local.cf чтобы он был правильно прописан т.е. все строчки сделанные через копи-паст проверь, и обязательно в конце файла что бы была строчка через Enter у меня была такая бага, как раз все прописал, а в конце не нажал Enter и выдавало почти тоже самое.
А желательно досконально перепроверь пункт 10 howto, или переделай его заново!!! Причем рекомендуемые строчки для данного файла добавляй в конец файла!!!

И проверь еще раз командой netstat -tap вывод обязательно должен быть вот таким:
Особенно удели внимание первым строчкам где должен amavisd прослушивать 24 порт он выглядит (localhost.localdo:10024 *:*                     LISTEN      19748/amavisd) и Postfix должен прослушивать 25 порт т.е. 10025  если у тебя хоть одной строчки нет,  возвращайся к файлу /etc/pistfix/master.cf


Active Internet connections (servers and established)
Proto Recv-Q Send-Q Local Address           Foreign Address         State       PID/Program name
Active Internet connections (servers and established)
Proto Recv-Q Send-Q Local Address           Foreign Address         State       PID/Program name
tcp        0      0 localhost.localdo:10024 *:*                     LISTEN      19748/amavisd (ch15
tcp        0      0 localhost.localdo:10025 *:*                     LISTEN      22743/master   
tcp        0      0 localhost.localdo:mysql *:*                     LISTEN      18518/mysqld   
tcp        0      0 *:www                   *:*                     LISTEN      8045/apache2   
tcp        0      0 *:smtp                  *:*                     LISTEN      22743/master   
tcp        0      0 localhost.localdo:47875 localhost.localdo:mysql ESTABLISHED 20515/proxymap 
tcp        0      0 localhost.localdo:mysql localhost.localdo:47875 ESTABLISHED 18518/mysqld   
tcp        0      0 localhost.localdo:47874 localhost.localdo:mysql ESTABLISHED 20515/proxymap 
tcp        0      0 localhost.localdo:mysql localhost.localdo:47874 ESTABLISHED 18518/mysqld   
tcp6       0      0 [::]:imaps              [::]:*                  LISTEN      19013/couriertcpd
tcp6       0      0 [::]:pop3s              [::]:*                  LISTEN      19081/couriertcpd
tcp6       0      0 [::]:pop3               [::]:*                  LISTEN      19044/couriertcpd
tcp6       0      0 [::]:imap2              [::]:*                  LISTEN      18975/couriertcpd
tcp6       0      0 [::]:ssh                [::]:*                  LISTEN      8677/sshd     
« Последнее редактирование: 18 Сентября 2009, 16:27:26 от obsessionsys »
Что бы хорошее становилось лучшим, а лучшее - совершенным!

Оффлайн tagilchanin

  • Активист
  • *
  • Сообщений: 658
    • Просмотр профиля
Все далал по инструкции. Настроил Thuderbird, что бы попробовать самому себе отправить тестовое письмо, при вводе пароля от ящика пишет Команда PASS не выполнена. Почтовый сервер ответил: Temporary problem, please try again later.
В mail.err:
Sep 23 17:09:53 ubuntu pop3d: authentication error: Input/output error
Sep 23 17:10:33 ubuntu postfix/trivial-rewrite[18435]: fatal: proxy:mysql:/etc/postfix/mysql-virtual_domains.cf(0,lock|fold_fix): table lookup problem
Sep 23 17:10:33 ubuntu postfix/trivial-rewrite[18436]: fatal: proxy:mysql:/etc/postfix/mysql-virtual_domains.cf(0,lock|fold_fix): table lookup problem
Sep 23 17:10:33 ubuntu postfix/trivial-rewrite[18437]: fatal: proxy:mysql:/etc/postfix/mysql-virtual_domains.cf(0,lock|fold_fix): table lookup problem
Sep 23 17:10:33 ubuntu postfix/trivial-rewrite[18438]: fatal: proxy:mysql:/etc/postfix/mysql-virtual_domains.cf(0,lock|fold_fix): table lookup problem
Sep 23 17:11:34 ubuntu postfix/trivial-rewrite[18439]: fatal: proxy:mysql:/etc/postfix/mysql-virtual_domains.cf(0,lock|fold_fix): table lookup problem
Sep 23 17:11:34 ubuntu postfix/trivial-rewrite[18440]: fatal: proxy:mysql:/etc/postfix/mysql-virtual_domains.cf(0,lock|fold_fix): table lookup problem
Sep 23 17:11:34 ubuntu postfix/trivial-rewrite[18441]: fatal: proxy:mysql:/etc/postfix/mysql-virtual_domains.cf(0,lock|fold_fix): table lookup problem
Sep 23 17:11:34 ubuntu postfix/trivial-rewrite[18442]: fatal: proxy:mysql:/etc/postfix/mysql-virtual_domains.cf(0,lock|fold_fix): table lookup problem

Пожалуйста пожскажите что это.
 
Выбери профессию, которую ты любишь, - и тебе не придется работать ни дня в твоей жизни. (Конфуций)

Оффлайн Ve0

  • Активист
  • *
  • Сообщений: 262
    • Просмотр профиля
    • bUbuntu.spb.ru
Sep 23 17:11:34 ubuntu postfix/trivial-rewrite[18442]: fatal: proxy:mysql:/etc/postfix/mysql-virtual_domains.cf(0,lock|fold_fix): table lookup problem

/etc/postfix/mysql-virtual_domains.cf - в студию
bUbuntu - In a world without walls who needs Windows?..

Оффлайн Данuл

  • Новичок
  • *
  • Сообщений: 48
  • Кто он? Простой студент?
    • Просмотр профиля
    • Lan#23
Sep 23 17:11:34 ubuntu postfix/trivial-rewrite[18442]: fatal: proxy:mysql:/etc/postfix/mysql-virtual_domains.cf(0,lock|fold_fix): table lookup problem

/etc/postfix/mysql-virtual_domains.cf - в студию

Он скорее всего таблицу не создал в MySQL...
С уважением, ...

Оффлайн tagilchanin

  • Активист
  • *
  • Сообщений: 658
    • Просмотр профиля
Вот конфиг mysql-vitrual_domains.cf

user = mail_admin
password =
dbname = mail
query = SELECT domain AS virtual FROM domains WHERE domain='%s'
hosts = 127.0.0.1
Выбери профессию, которую ты любишь, - и тебе не придется работать ни дня в твоей жизни. (Конфуций)

Оффлайн Данuл

  • Новичок
  • *
  • Сообщений: 48
  • Кто он? Простой студент?
    • Просмотр профиля
    • Lan#23
Вот конфиг mysql-vitrual_domains.cf

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


В строку password впиши пароль, который у тебя стоит у юзера mail_admin в MySQL.
С уважением, ...

Оффлайн Ve0

  • Активист
  • *
  • Сообщений: 262
    • Просмотр профиля
    • bUbuntu.spb.ru
Вот конфиг mysql-vitrual_domains.cf

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

Вот теперь лезешь в базу mail, ищешь таблицу domains, и смотришь присутствует ли у тебя там все нужные таблицы... если нет, то их нужно создать.
bUbuntu - In a world without walls who needs Windows?..

Оффлайн npofopr

  • Новичок
  • *
  • Сообщений: 3
    • Просмотр профиля
Наверно уже 10 раз спрашивали про этот вопрос. Но все же.
Остановился на 12 пункте. Проверка постфиксе. Телнет не хочет на 25 порт идти.
ну и нетстат не показывает собственно.
и в логах ошибка на smtp_data_done_timeout=1200.
Дистр: Ubuntu 9.04
если можете подскажите. Нет значит буду дальше читать страницы этой темы, может уловлю ошибку.

^_^[root@testpostfix:~]# netstat -tap
Цитировать
Active Internet connections (servers and established)
Proto Recv-Q Send-Q Local Address           Foreign Address         State       PID/Program name
tcp        0      0 localhost:10024         *:*                     LISTEN      2055/amavisd (maste
tcp        0      0 localhost:mysql         *:*                     LISTEN      2130/mysqld
tcp        0      0 *:www                   *:*                     LISTEN      3024/apache2
tcp        0      0 *:2200                  *:*                     LISTEN      2027/sshd
tcp        0    148 192.168.1.19:2200       192.168.1.215:1495      ESTABLISHED 3051/sshd: mailuser
tcp6       0      0 [::]:imaps              [::]:*                  LISTEN      2628/couriertcpd
tcp6       0      0 [::]:pop3s              [::]:*                  LISTEN      2666/couriertcpd
tcp6       0      0 [::]:pop3               [::]:*                  LISTEN      2644/couriertcpd
tcp6       0      0 [::]:imap2              [::]:*                  LISTEN      2606/couriertcpd
tcp6       0      0 [::]:2200               [::]:*                  LISTEN      2027/sshd

[root@testpostfix:~]# vi /var/log/mail.err
Цитировать
Sep 26 20:00:12 testpostfix postfix/master[2743]: fatal: /etc/postfix/master.cf: line 52: bad transport type: smtp_data_done_timeout=1200

# vi /var/log/mail.log
Цитировать
Sep 26 19:59:16 testpostfix authdaemond: stopping authdaemond children
Sep 26 19:59:55 testpostfix amavis[2050]: starting.  /usr/sbin/amavisd-new at testpostfix.pspu.ru amavisd-new-2.6.2 (20081215), Unicode aware
Sep 26 19:59:55 testpostfix amavis[2050]: Perl version               5.010000
Sep 26 19:59:57 testpostfix amavis[2055]: Net::Server: Group Not Defined.  Defaulting to EGID '119 119'
Sep 26 19:59:57 testpostfix amavis[2055]: Net::Server: User Not Defined.  Defaulting to EUID '110'
.......
Sep 26 19:59:57 testpostfix amavis[2055]: Found secondary av scanner ClamAV-clamscan at /usr/bin/clamscan
Sep 26 19:59:57 testpostfix amavis[2055]: Creating db in /var/lib/amavis/db/; BerkeleyDB 0.34, libdb 4.6
Sep 26 20:00:11 testpostfix authdaemond: modules="authmysql", daemons=5
Sep 26 20:00:11 testpostfix authdaemond: Installing libauthmysql
Sep 26 20:00:11 testpostfix authdaemond: Installation complete: authmysql
Sep 26 20:00:12 testpostfix postfix/master[2743]: fatal: /etc/postfix/master.cf: line 52: bad transport type: smtp_data_done_timeout=1200
Sep 26 20:00:13 testpostfix dovecot: dovecot v1.1.11 starting up (core dumps disabled)

# vi /var/log/mail.warn
Цитировать
Sep 26 20:00:12 testpostfix postfix/master[2743]: fatal: /etc/postfix/master.cf: line 52: bad transport type: smtp_data_done_timeout=1200

# vi /etc/postfix/main.cf
Цитировать
# See /usr/share/postfix/main.cf.dist for a commented, more complete version
#myorigin = /etc/mailname

smtpd_banner = $myhostname ESMTP $mail_name (Ubuntu)
biff = no

# appending .domain is the MUA's job.
append_dot_mydomain = no

readme_directory = /usr/share/doc/postfix

# TLS parameters
smtpd_tls_cert_file = /etc/postfix/smtpd.cert
smtpd_tls_key_file = /etc/postfix/smtpd.key
smtpd_use_tls = yes
smtpd_tls_session_cache_database = btree:${data_directory}/smtpd_scache
smtp_tls_session_cache_database = btree:${data_directory}/smtp_scache

# See /usr/share/doc/postfix/TLS_README.gz in the postfix-doc package for
# information on enabling SSL in the smtp client.

myhostname = testpostfix.pspu.ru
alias_maps = hash:/etc/aliases
alias_database = hash:/etc/aliases
myorigin = /etc/mailname
mydestination = localhost, localhost.localdomain
relayhost =
mynetworks = 127.0.0.0/8
mailbox_command = procmail -a "$EXTENSION"
mailbox_size_limit = 0
recipient_delimiter = +
inet_interfaces = all
html_directory = /usr/share/doc/postfix/html
virtual_alias_domains =
virtual_alias_maps = proxy:mysql:/etc/postfix/mysql-virtual_forwardings.cf, mysql:/etc/postfix/mysql-virtual_email2email.cf
virtual_mailbox_domains = proxy:mysql:/etc/postfix/mysql-virtual_domains.cf
virtual_mailbox_maps = proxy:mysql:/etc/postfix/mysql-virtual_mailboxes.cf
virtual_mailbox_base = /home/vmail
virtual_uid_maps = static:5000
virtual_gid_maps = static:5000
smtpd_sasl_auth_enable = yes
broken_sasl_auth_clients = yes
smtpd_sasl_authenticated_header = yes
transport_maps = proxy:mysql:/etc/postfix/mysql-virtual_transports.cf
virtual_create_maildirsize = yes
virtual_mailbox_extended = yes
virtual_mailbox_limit_maps = proxy:mysql:/etc/postfix/mysql-virtual_mailbox_limit_maps.cf
virtual_mailbox_limit_override = yes
virtual_maildir_limit_message = "The user you are trying to reach is over quota."
virtual_overquota_bounce = yes
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
smtpd_recipient_restrictions = permit_mynetworks, permit_sasl_authenticated, reject_unauth_destination
content_filter = amavis:[127.0.0.1]:10024
receive_override_options = no_address_mappings

# vi /etc/postfix/master.cf
Цитировать
smtp      inet  n       -       -       -       -       smtpd
#submission inet n       -       -       -       -       smtpd
#  -o smtpd_tls_security_level=encrypt
#  -o smtpd_sasl_auth_enable=yes
#  -o smtpd_client_restrictions=permit_sasl_authenticated,reject
#  -o milter_macro_daemon_name=ORIGINATING
#smtps     inet  n       -       -       -       -       smtpd
#  -o smtpd_tls_wrappermode=yes
#  -o smtpd_sasl_auth_enable=yes
#  -o smtpd_client_restrictions=permit_sasl_authenticated,reject
#  -o milter_macro_daemon_name=ORIGINATING
#628      inet  n       -       -       -       -       qmqpd
pickup    fifo  n       -       -       60      1       pickup
cleanup   unix  n       -       -       -       0       cleanup
qmgr      fifo  n       -       n       300     1       qmgr
#qmgr     fifo  n       -       -       300     1       oqmgr
tlsmgr    unix  -       -       -       1000?   1       tlsmgr
rewrite   unix  -       -       -       -       -       trivial-rewrite
bounce    unix  -       -       -       -       0       bounce
defer     unix  -       -       -       -       0       bounce
trace     unix  -       -       -       -       0       bounce
verify    unix  -       -       -       -       1       verify
flush     unix  n       -       -       1000?   0       flush
proxymap  unix  -       -       n       -       -       proxymap
proxywrite unix -       -       n       -       1       proxymap
smtp      unix  -       -       -       -       -       smtp
# When relaying mail as backup MX, disable fallback_relay to avoid MX loops
relay     unix  -       -       -       -       -       smtp
        -o smtp_fallback_relay=
#       -o smtp_helo_timeout=5 -o smtp_connect_timeout=5
showq     unix  n       -       -       -       -       showq
error     unix  -       -       -       -       -       error
retry     unix  -       -       -       -       -       error
discard   unix  -       -       -       -       -       discard
local     unix  -       n       n       -       -       local
virtual   unix  -       n       n       -       -       virtual
lmtp      unix  -       -       -       -       -       lmtp
anvil     unix  -       -       -       -       1       anvil
scache    unix  -       -       -       -       1       scache

amavis    unix  -       -       -       -       2       smtp
-o smtp_data_done_timeout=1200
-o smtp_send_xforward_command=yes

127.0.0.1:10025 inet     n      -       -       -       -       smtpd
-o content_filter=
-o local_recipient_maps=
-o relay_recipient_maps=
-o smtpd_restriction_classes=
-o smtpd_client_restrictions=
-o smtpd_helo_restrictions=
-o smtpd_sender_restrictions=
-o smtpd_recipient_restrictions=permit_mynetworks,reject
-o mynetworks=127.0.0.0/8
-o strict_rfc821_envelopes=yes
-o receive_override_options=no_unknown_recipient_checks,no_header_body_checks
-o smtpd_bind_address=127.0.0.1

#
maildrop  unix  -       n       n       -       -       pipe
  flags=DRhu user=vmail argv=/usr/bin/maildrop -d ${recipient}
#
# See the Postfix UUCP_README file for configuration details.
#
uucp      unix  -       n       n       -       -       pipe
  flags=Fqhu user=uucp argv=uux -r -n -z -a$sender - $nexthop!rmail ($recipient)
#
# Other external delivery methods.
#
ifmail    unix  -       n       n       -       -       pipe
  flags=F user=ftn argv=/usr/lib/ifmail/ifmail -r $nexthop ($recipient)
bsmtp     unix  -       n       n       -       -       pipe
  flags=Fq. user=bsmtp argv=/usr/lib/bsmtp/bsmtp -t$nexthop -f$sender $recipient
scalemail-backend unix  -       n       n       -       2       pipe
  flags=R user=scalemail argv=/usr/lib/scalemail/bin/scalemail-store ${nexthop} ${user} ${extension}
mailman   unix  -       n       n       -       -       pipe
  flags=FR user=list argv=/usr/lib/mailman/bin/postfix-to-mailman.py
  ${nexthop} ${user}

Оффлайн Bambr

  • Участник
  • *
  • Сообщений: 121
    • Просмотр профиля
npofopr, у вас постфиксовский демон master не может запуститься, по причине ошибки в master.cf, в следствии этого 25 порт слушать некому и 10025 порт, к стати, тоже.

Должно быть так:
amavis    unix  -       -       -       -       2       smtp
 -o smtp_data_done_timeout=1200
 -o smtp_send_xforward_command=yes

127.0.0.1:10025 inet     n      -       -       -       -       smtpd
 -o content_filter=
 -o local_recipient_maps=
 -o relay_recipient_maps=
 -o smtpd_restriction_classes=
 -o smtpd_client_restrictions=
 -o smtpd_helo_restrictions=
 -o smtpd_sender_restrictions=
 -o smtpd_recipient_restrictions=permit_mynetworks,reject
 -o mynetworks=127.0.0.0/8
 -o strict_rfc821_envelopes=yes
 -o receive_override_options=no_unknown_recipient_checks,no_header_body_checks
 -o smtpd_bind_address=127.0.0.1

man 5 master вам в помощь.

p.s. Автор руководства не учел, что при копипастинге из pdf лидирующие пробелы пропадают.
« Последнее редактирование: 26 Сентября 2009, 19:25:07 от Bambr »

Оффлайн npofopr

  • Новичок
  • *
  • Сообщений: 3
    • Просмотр профиля
правильно ли я понимаю что в /postfix/main.cf

Цитировать
myhostname = testpostfix.mail.ru
mydestination = localhost, testpostfix.mail.ru

testpostfix.mail.ru не должно повторяться в обоих строчках?

потому как после этого выползает ошибка:

Цитировать
Sep 28 00:00:11 testpostfix postfix/trivial-rewrite[5237]: warning: do not list domain testpostfix.pspu.ru in BOTH mydestination and virtual_mailbox_domains
Sep 28 00:00:12 testpostfix last message repeated 3 times

Или это из-за того, что сервак не прописан в ДНСах? т.е. у него фактически только айпишник, а не testpostfix.mail.ru

Оффлайн tagilchanin

  • Активист
  • *
  • Сообщений: 658
    • Просмотр профиля
Вот конфиг mysql-vitrual_domains.cf

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


В строку password впиши пароль, который у тебя стоит у юзера mail_admin в MySQL.

Пароль там есть.
Выбери профессию, которую ты любишь, - и тебе не придется работать ни дня в твоей жизни. (Конфуций)

Оффлайн Данuл

  • Новичок
  • *
  • Сообщений: 48
  • Кто он? Простой студент?
    • Просмотр профиля
    • Lan#23
Кстати, а как реализовать мультиформатность почтовых ящиков? Т.е. чтобы если люди читают почту с адреса mail.domain.ru  - вводят логин (без '@domain.ru') и им приходит почта? Просто висит 3 сайта и по всем 3 доменам нужен почтовый ящик... А 'address@domain.ru'  в строку логина вводить как-то неинтересно...
С уважением, ...

Оффлайн Nickollla

  • Любитель
  • *
  • Сообщений: 74
    • Просмотр профиля
Подскажите где зарыта собака. Вообщем необходима отправлять большие письма скажем метров по 60. Но самим постфиксом накладывается ограничение в 8 метров . Ограничение снимается если добавить в в конфигурацию message_size_limit =   как описано на какой-то странице в этом ховто . При этом большие письма начинают ходить , но после первого письма начинают сыпаться ошибки в mail.err с содержанием postfix/virtual[29368]: fatal: main.cf configuration error: virtual_mailbox_limit is smaller than message_size_limit  . В таблице стоит ограничение квоты больше чем для постфикса . Так что письмо укладывается в ящик с запасом. Я понимаю на что она ругается но не понятно зачем если квота с запасом больше message_size_limit да и письмо меньше обоих значений в разы . Может кто сталкивался с этим. Юзаю не веб морду для отправки так что забудьте про php

Пользователь решил продолжить мысль [time]Thu Oct  1 07:51:55 2009[/time]:
Еще вопрос по DCC .
Нужен ли сам сервак DCC на интерфейсе 127.0.0.1 а то возвращает ошибку частично по команде cdcc 'info'  . А так другие DCC серваки видит. В ховто нет ничего по поводу этого.
# 10/01/09 12:51:18 SAMST  GreyList /var/lib/dcc/map
# Re-resolve names after 14:26:50
# 1 total, 0 working servers
# skipping asking Greylist server 512 seconds more

127.0.0.1,-                 Greylist 32768 1606366415x10324
#  127.0.0.1,6276
#      not answering

Еще раз скажу что по другим DCC все ок . Если он не нужен локальный то просто его закоментирую

Пользователь решил продолжить мысль [time]Thu Oct  1 10:34:56 2009[/time]:
Вообщем по первому вопросу . Добавил в конфиг постфикса virtual_mailbox_limit = c очень большим значением . Думал повлияет на квоту по ящикам. К моей радости квота все таки сработала по квотам в базе. Ну и спокойно добавил message_size_limit. Терь не ругается. По второму вопросу еще жду ответа:)
« Последнее редактирование: 01 Октября 2009, 12:38:04 от Nickollla »

 

Страница сгенерирована за 0.026 секунд. Запросов: 21.