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


Хотите сделать посильный вклад в развитие Ubuntu и русскоязычного сообщества?
Помогите нам с документацией!

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

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

Оффлайн Desert Rat

  • Новичок
  • *
  • Сообщений: 20
    • Просмотр профиля
Как указать сourier-pop3 и сourier-imap проводить аутентификацию по user без @domain?

Оффлайн Avolon

  • Любитель
  • *
  • Сообщений: 94
    • Просмотр профиля
Я делал без домена ))) просто пришлось постфикс админ лопатить чтоб в таблицу заносил имя пользователя petya а не petya@domaim.ru  ))
если что стучись в личку

Оффлайн Desert Rat

  • Новичок
  • *
  • Сообщений: 20
    • Просмотр профиля
Когда много доменов не выход.

Оффлайн Karl500

  • Заслуженный пользователь
  • Старожил
  • *
  • Сообщений: 2267
    • Просмотр профиля
А как в таком случае (если много доменов) отличать vasya.pupkin@domain1.ru от vasya.pupkin@domain2.ru ?

Оффлайн Desert Rat

  • Новичок
  • *
  • Сообщений: 20
    • Просмотр профиля
При аутентификации кроме логина и пароля передается еще и email адрес указный в учетке. От туда и берется домен.

Оффлайн Novichek

  • Любитель
  • *
  • Сообщений: 78
    • Просмотр профиля
Ребят помогите установит пакеты. Проблема описана в самом низу не могу найти а то что скачивается выбивает ошибки

Отличный howto. Спасибо !
От меня незначительные добавления к мануалу:

глава 10
следующие две строки устарели
wget http://launchpadlibrarian.net/11564361/dcc-server_1.3.42-5_i386.deb
wget http://launchpadlibrarian.net/11564359/dcc-common_1.3.42-5_i386.deb

можно сходить на http://www.dcc-servers.net/dcc/ выбрать там актуальныю для вас версию пакета, скачать и затем выполнить
dpkg -i dcc-common_ваша_версия.deb
dpkg -i dcc-server_ваша_версия.deb

обратите внимание на файл /etc/default/spamassassin
должно быть:
[.....]
ENABLED=1
[.....]

строка
sa-update —no-gpg

правильно написать так:
sa-update --nogpg
а если это первый запуск,то лучше вот так:
sa-update --channel updates.spamassassin.org --nogpg

по поводу автоматического обновления правил:
команду в cron я бы указал так:
sa-update --nogpg && /etc/init.d/spamassassin restart
т.к. правила нужно не только обновить, но и перечитать

Дельные замечания, жалко, что это только второе за все время существования данной темы!
Спасибо, исправим, давно собирался это сделать еще ряд замечаний войдут в новую редакцию.

Ребят помогите найти пакеты ато проба установит эти пакеты дает ошибки
 dpkg -i dcc-common_1.3.42-5_i386.deb
Выбор ранее не выбранного пакета dcc-common.
(Чтение базы данных... на данный момент установлено 49081 файлов и каталогов.)
Распаковывается пакет dcc-common (из файла dcc-common_1.3.42-5_i386.deb)...
Настраивается пакет dcc-common (1.3.42-5) ...
Adding system group: dcc.
Adding group `dcc' (GID 114) ...
Done.
Adding system user: dcc.
Adding system user `dcc' (UID 105) ...
Adding new user `dcc' (UID 105) with group `dcc' ...
Not creating home directory `/var/lib/dcc'.
read: 65: Illegal option -n
Warning, no random device found, password might be insecure
read: 65: Illegal option -n
Warning, no random device found, password might be insecure
Updating DCC map.



Пользователь решил продолжить мысль 17 Января 2011, 14:52:10:
Инструкция устарела и в вот этом месте

11 Предупреждения при превышении квоты

Для того чтобы получать сообщения об превышении квоты почтовых ящиков пользователей сделаем так:

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

Файла по этому месту нету. поэтому вот он как выглядит целиком (замените yourdomain.tld вашим)

nano /usr/local/sbin/quota_notify

#!/usr/bin/perl -w

# Author <jps@tntmax.com>
#
# This script assumes that virtual_mailbox_base in defined
# in postfix's main.cf file. This directory is assumed to contain
# directories which themselves contain your virtual user's maildirs.
# For example:
#
# -----------/
#            |
#            |
#    home/vmail/domains/
#        |          |
#        |          |
#  example.com/  foo.com/
#                   |
#                   |
#           -----------------
#           |       |       |
#           |       |       |
#         user1/   user2/  user3/
#                           |
#                           |
#                        maildirsize
#

use strict;

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;

#get virtual mailbox base from postfix config
open(PCF, "< $POSTFIX_CF") or die $!;
my $mboxBase;
while (<PCF>) {
   next unless /virtual_mailbox_base\s*=\s*(.*)\s*/;
   $mboxBase = $1;
}
close(PCF);

#assume one level of subdirectories for domain names
my @domains;
opendir(DIR, $mboxBase) or die $!;
while (defined(my $name = readdir(DIR))) {
   next if $name =~ /^\.\.?$/;        #skip '.' and '..'
   next unless (-d "$mboxBase/$name");
   push(@domains, $name);
}
closedir(DIR);
#iterate through domains for username/maildirsize files
my @users;
chdir($mboxBase);
foreach my $domain (@domains) {
        opendir(DIR, $domain) or die $!;
        while (defined(my $name = readdir(DIR))) {
           next if $name =~ /^\.\.?$/;        #skip '.' and '..'
           next unless (-d "$domain/$name");
      push(@users, {"$name\@$domain" => "$mboxBase/$domain/$name"});
        }
}
closedir(DIR);

#get user quotas and percent used
my (%lusers, $report);
foreach my $href (@users) {
   foreach my $user (keys %$href) {
      my $quotafile = "$href->{$user}/maildirsize";
      next unless (-f $quotafile);
      open(QF, "< $quotafile") or die $!;
      my ($firstln, $quota, $used);
      while (<QF>) {
         my $line = $_;
              if (! $firstln) {
                 $firstln = 1;
                 die "Error: corrupt quotafile $quotafile"
                    unless ($line =~ /^(\d+)S/);
                 $quota = $1;
            last if (! $quota);
            next;
         }
         die "Error: corrupt quotafile $quotafile"
            unless ($line =~ /\s*(-?\d+)/);
         $used += $1;
      }
      close(QF);
      next if (! $used);
      my $percent = int($used / $quota * 100);
      $lusers{$user} = $percent unless not $percent;
   }
}

#send a report to the postmasters
if ($MAIL_REPORT) {
   open(MAIL, "| $MAILPROG");
   select(MAIL);
   map {print "To: $_\n"} @POSTMASTERS;
   print "From: $COADDR\n";
   print "Subject: Daily Quota Report.\n";
   print "DAILY QUOTA REPORT:\n\n";
   print "----------------------------------------------\n";
   print "| % USAGE |            ACCOUNT NAME          |\n";
   print "----------------------------------------------\n";
   foreach my $luser ( sort { $lusers{$b} <=> $lusers{$a} } keys %lusers ) {
      printf("|   %3d   | %32s |\n", $lusers{$luser}, $luser);
      print "---------------------------------------------\n";
   }
        print "\n--\n";
        print "$CONAME\n";
        close(MAIL);
}

#email a warning to people over quota
if ($MAIL_WARNING) {
        foreach my $luser (keys (%lusers)) {
           next unless $lusers{$luser} >= $WARNPERCENT;       # skip those under quota
           open(MAIL, "| $MAILPROG");
           select(MAIL);
           print "To: $luser\n";
      map {print "BCC: $_\n"} @POSTMASTERS;
           print "From: $SUADDR\n";
           print "Subject: WARNING: Your mailbox is $lusers{$luser}% full.\n";
           print "Reply-to: $SUADDR\n";
           print "Your mailbox: $luser is $lusers{$luser}% full.\n\n";
           print "Once your e-mail box has exceeded your monthly storage quota\n";
      print "your monthly billing will be automatically adjusted.\n";
      print "Please consider deleting e-mail and emptying your trash folder to clear some space.\n\n";
           print "Contact <$SUADDR> for further assistance.\n\n";
           print "Thank You.\n\n";
           print "--\n";
           print "$CONAME\n";
           close(MAIL);
        }
}


Меняем ему права
chmod 755 quota_notify
« Последнее редактирование: 17 Января 2011, 14:52:10 от Novichek »

Оффлайн tagilchanin

  • Активист
  • *
  • Сообщений: 658
    • Просмотр профиля
Ребят вопрос касательно вытаскивания писем из карантина. Amavisd добавляет письмо в карантин, если я хочу извлечь его из карантина утилитой amavis-release пишет вот это:
(Нажмите, чтобы показать/скрыть)
Кто нить сталкивался с этим?
Выбери профессию, которую ты любишь, - и тебе не придется работать ни дня в твоей жизни. (Конфуций)

Оффлайн Karl500

  • Заслуженный пользователь
  • Старожил
  • *
  • Сообщений: 2267
    • Просмотр профиля
В варианте установки, который используется здесь, нужно задавать примерно так:

amavisd-release 0/spam-0zxnuSKpMgjJ.gz

т.е. задавать имя файла (оно указано в хидерах). Это связано с тем, что тут не используется БД для хранения этих писем.

После этого письмо будет поставлено в очередь на доставку. Можно указать, куда именно доставлять это "вытащенное" письмо, например:

amavisd-release 0/spam-0zxnuSKpMgjJ.gz recipient@domain.ru

UPD: Тьфу ты. Не в хидерах имя файла, конечно. В логах. Там же, где ID, который Вы использовали, например:

Jan 17 19:18:46 bowmore amavis[27839]: (27839-11) Blocked SPAM, [98.139.91.94] [196.207.193.152] <mrselizabetgeorge@att.net> -> <user@xxx.ru>, quarantine: F/spam-Fp0ouh5yhlmg.gz, Message-ID: <956395.23218.qm@web83809.mail.sp1.yahoo.com>, mail_id: Fp0ouh5yhlmg, Hits: 15.188, size: 7235, dkim_id=@att.net,mrselizabetgeorge@att.net, 5588 ms
вот тут  F/spam-Fp0ouh5yhlmg.gz - это и есть имя файла для amavisd-release (вместо mail_id, который Вы использовали)
« Последнее редактирование: 17 Января 2011, 19:31:44 от Karl500 »

Оффлайн tagilchanin

  • Активист
  • *
  • Сообщений: 658
    • Просмотр профиля
В варианте установки, который используется здесь, нужно задавать примерно так:

amavisd-release 0/spam-0zxnuSKpMgjJ.gz

т.е. задавать имя файла (оно указано в хидерах). Это связано с тем, что тут не используется БД для хранения этих писем.

После этого письмо будет поставлено в очередь на доставку. Можно указать, куда именно доставлять это "вытащенное" письмо, например:

amavisd-release 0/spam-0zxnuSKpMgjJ.gz recipient@domain.ru

UPD: Тьфу ты. Не в хидерах имя файла, конечно. В логах. Там же, где ID, который Вы использовали, например:

Jan 17 19:18:46 bowmore amavis[27839]: (27839-11) Blocked SPAM, [98.139.91.94] [196.207.193.152] <mrselizabetgeorge@att.net> -> <user@xxx.ru>, quarantine: F/spam-Fp0ouh5yhlmg.gz, Message-ID: <956395.23218.qm@web83809.mail.sp1.yahoo.com>, mail_id: Fp0ouh5yhlmg, Hits: 15.188, size: 7235, dkim_id=@att.net,mrselizabetgeorge@att.net, 5588 ms
вот тут  F/spam-Fp0ouh5yhlmg.gz - это и есть имя файла для amavisd-release (вместо mail_id, который Вы использовали)


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

Оффлайн axiskgn

  • Новичок
  • *
  • Сообщений: 3
    • Просмотр профиля
Добрый день, подскажите можно ли настроить Postfix для пересылки писем отправляемых во внешний мир через другой сервер например mail.ru с авторизацией на нём от имени пользователя и подменой адреса отправителя на адрес вида xxxx@mail.ru

Для чего это надо:
Есть корпоративная сеть без белого IP ну и соответственно без домена)
Раньше стоял MDaemo на Win2k3 и было сделано так:
у пользователей были ящики вида alex@srv
внутри всё ходило нормально, для отправки во внешний мир были заведены ящики вида alex@mail.ru
MDaemon пересылал почту через них логинясь на mail.ru и подменяя адрес отправителя
Всё работало пока не.... в общем стали переходить на бесплатное ПО  :)
По данному мануалу настроил внутреннюю почту теперь вопрос стоит про внешнюю, помогите плиз.

Оффлайн AnrDaemon

  • Заслуженный пользователь
  • Старожил
  • *
  • Сообщений: 28512
    • Просмотр профиля
Пересылать можно.
Ящик перезаписывать, думаю, тоже можно, но проще у клиентов правильный адрес отправителя вбить. (Не знаю, как mail.ru, а скажем umail.ru после авторизации принимает любой адрес отправителя, так что если есть собственный домен, можно использовать адреса из него.)
Хотите получить помощь? Потрудитесь представить запрошенную информацию в полном объёме.

Прежде чем [Отправить], нажми [Просмотр] и прочти собственное сообщение. Сам-то понял, что написал?…

Оффлайн axiskgn

  • Новичок
  • *
  • Сообщений: 3
    • Просмотр профиля
нашел статью
http://guruadmin.ru/page/postfix-kak-smtp-relej-trubajushhij-avtorizacii
сделал по ней
получаю ошибку
Jan 24 20:56:09 srv postfix/smtp[1760]: warning: smtp.mail.ru[94.100.177.1]:25 offered no supported AUTH mechanisms: 'PLAIN LOGIN'
потому как на mail.ru для отправке почты необходима "авторизация как на POP"
как это реализовать пока не нашел(
Можете подсказать как?

Оффлайн Karl500

  • Заслуженный пользователь
  • Старожил
  • *
  • Сообщений: 2267
    • Просмотр профиля
Что реализовать? "Авторизация как на POP" в этом контексте означает, что SMTP имеет тот же логин/пароль, что на POP. Ошибка означает, что smtp.mail.ru предложил механизм PLAIN LOGIN, который не поддерживается Вашим сервером.

Оффлайн axiskgn

  • Новичок
  • *
  • Сообщений: 3
    • Просмотр профиля
Что реализовать? "Авторизация как на POP" в этом контексте означает, что SMTP имеет тот же логин/пароль, что на POP. Ошибка означает, что smtp.mail.ru предложил механизм PLAIN LOGIN, который не поддерживается Вашим сервером.
Не подскажите как это исправить?

Пользователь решил продолжить мысль 24 Января 2011, 20:30:09:
нашел!!
Цитировать
smtp_sasl_mechanism_filter = plain, login

Спасибо!

Пользователь решил продолжить мысль 25 Января 2011, 13:56:20:
Подскажите как сделать замену адреса отправителя для всей "не локальной" почты с alex@srv на alex@mail.ru
« Последнее редактирование: 25 Января 2011, 13:56:20 от axiskgn »

Оффлайн sd--Anti

  • Новичок
  • *
  • Сообщений: 43
    • Просмотр профиля
Доброго времени суток.
Помогите с правами доступа.
Очень хочется узнать.
по неаккуратности были убиты права
и теперь имеем ошибку
Feb  1 11:59:06 nixDDMF postfix/master[6119]: fatal: fifo_listen: remove public/pickup: Permission denied
мне просто нужны: владелец, группа
для /etc/postfix, amavis, clamav и т.д.
Спасибо!
з.ы. ставить сервак на виртуалку, и смотреть права - не резон, времени просто нет.



 

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