Informática Numaboa - Linux
Debian + Postfix + PostfixAdmin + SquirrelMail
Sab 16 Mai 2009 01:19 |
- Detalhes
- Categoria: Como fazer instalações
- Atualização: Quinta, 28 Janeiro 2010 21:08
- Autor: vovó Vicki
- Acessos: 59434
- Debian + Postfix + PostfixAdmin + SquirrelMail
- A lista de fontes
- Iptables e logcheck
- MySQL, Postfix e Dovecot
- Certificados SSL (Autoridade)
- Certificados SSL (Requisições)
- phpMyAdmin
- SquirrelMail e PostfixAdmin
- SquirrelMail e PostfixAdmin II
- SquirrelMail e PostfixAdmin III
- Configurar SASL e TLS
- Amavis e SpamAssassin
- Amavis, SpamAssassin, ClamAV, Razor, Pyzor
- Amavis
- Amavis II
- Tabelas Bayes e AWL
- Personalizar o SquirrelMail
- Razor, pflogsumm e BIND
- Configurações Postfix adicionais
- Férias no PostfixAdmin
- Quotas, MailGraph e mysql-zrm
- O problema dos Aliases
- Todas as Páginas
Configurando férias no PostfixAdmin
Existem uma porção de boas razões para não usar uma resposta automática. Um dos motivos é que a maior parte da correspondência que recebemos é spam e os remetentes usam endereços forjados. Neste caso você estará enviando notícias para remetentes que não enviaram a mensagem ou você entope sua fila (queue) de deferidos com mensagens que não podem ser entregues. Com frequência existem outros problemas como entregas múltiplas ou o perigo de loops infinitos. O uso de avisos de férias apresenta riscos...
apt-get install libdbi-perl libdbd-mysql-perl libmail-sendmail-perl libemail-valid-perl libmime-perl libmime-charset-perl libmime-encwords-perl
addgroup --gid 65501 vacation useradd -c "Virtual Vacation" -d /nonexistent -u 65501 -g 65501 -s /sbin/false vacation mkdir /var/spool/vacation cd /var/spool/vacation/ cp /usr/share/doc/postfixadmin/VIRTUAL_VACATION/vacation.pl.gz . gunzip vacation.pl.gz cp vacation.pl vacation.pl.original wget -U NoSuchBrowser/1.0 http://www.numaboa.com/debian/vacation.2211.patch.txt patch -p0 < vacation.2211.patch.txt sed -i "s/my \$db_type = 'Pg/#my \$db_type = 'Pg/" vacation.pl sed -i "s/#my \$db_type = 'mysql/my \$db_type = 'mysql/" vacation.pl sed -i "s/db_host = ''/db_host = 'localhost'/" vacation.pl sed -i "s/db_username = 'vacation/db_username = 'postfix/" vacation.pl sed -i "s/db_password = ''/db_password = 'pfix_senha'/" vacation.pl sed -i "s/smtp_server = 'localhost'/smtp_server = 'localhost:10025'/" vacation.pl chown -R vacation:vacation /var/spool/vacation chmod 750 vacation.pl
Veja o patch baixado: vacation.2211.patch.
Colocamos uma entrada em /etc/postfix/transport que enviará a correspondência para o script de férias. Este é um nome de (sub)domínio fictício. Ele não precisa ser configurado no DNS:
vi /etc/postfix/transport
e insira:
autoreply.exemplo.com vacation:
vi /etc/postfix/master.cf
e insira (logo abaixo do transporte do dovecot é um bom lugar):
vacation unix - n n - - pipe flags=Rq user=vacation argv=/var/spool/vacation/vacation.pl -f ${sender} -- ${recipient}
Depois:
postmap /etc/postfix/transport postconf -e "transport_maps = hash:/etc/postfix/transport" postconf -e "vacation_destination_recipient_limit = 1" LINUX2
Agora vamos configurar o PostfixAdmin para usar esta facilidade:
sed -i "s/vacation'] = 'NO/vacation'] = 'YES/" /usr/share/postfixadmin/config.inc.php
Para mudar suas configurações de Auto Resposta, um usuário vai poder logar em:
https://nome_do_host.exemplo.com/postFixadmiNx/users
Entretanto, podemos evitar que usuários façam login no PostfixAdmin adicionando um plugin PostfixAdmin no SquirrelMail (pule para a próxima seção para instalá-lo e depois volte para cá). Chame https://nome_do_host.exemplo.com/mail. Enquanto estiver testando não se preocupe se receber respostas duplicadas de Out of Office (estou de férias) porque vamos arrumar isto um pouco mais tarde. Teste fazendo login na conta teste e configurando-a. Lembre-se de que a base de dados só registra os remetentes que já viu de modo que apenas uma mensagem seja enviada para cada remetente. Para limpar o cache e começar de novo, volte das suas férias escolhendo Auto Response->Coming Back e depois novamente Auto Response->Going Away. Use o phpMyAdmin para inspecionar a base de dados à medida em que for fazendo suas modificações.
Agora que as férias estão funcionando, considere desligá-las para que ninguém possa usá-las. Primeiro use https://nome_do_host.exemplo.com/phpmyadmiNx para certificar-se de que não há entradas na tabela vacation (férias) e de que não há aliases que enviem mensagens para @autoreply.exemplo.com (em outras palavras, ninguém pode estar usando as férias), depois:
sed -i "s/vacation'] = 'YES/vacation'] = 'NO/" /usr/share/postfixadmin/config.inc.php sed -i "s/Vacation = true/Vacation = false/" /usr/share/squirrelmail/plugins/postfixadmin/config.php
Instalar o plugin postfixadmin no SquirrelMail
Existem diversas versões deste plugin. Eu peguei o do CodePoets/Pale Purple. O plugin permite que os usuários alterem sua senha, editem forwarding e habilitem mensagens de férias através da interface SquirrelMail. No entanto, diferente do usuário do PostfixAdmin, usuários SquirrelMail não podem impedir a entrega para caixas postais locais quando fazem um forward. Uma vez instalado, você deveria dar uma olhada no config.php para se familiarizar com as opções.
pear channel-update pear.php.net pear install MDB2-2.4.1 pear install MDB2_Driver_mysql-1.4.1 apt-get install subversion
cd /usr/local/src svn -r 33 co http://squirrelmail-postfixadmin.palepurple.co.uk/svn postfixadmin-plugin cd postfixadmin-plugin/tags cp -r squirrelmail-postfixadmin-0.4.3/ /usr/share/squirrelmail/plugins/ mv /usr/share/squirrelmail/plugins/squirrelmail-postfixadmin-0.4.3 /usr/share/squirrelmail/plugins/postfixadmin cd /usr/share/squirrelmail/plugins/
chown -R root:root postfixadmin cd postfixadmin cp config.php.sample config.php sed -i "s/postgres/mysql/" config.php sed -i "s/xxxxx/pfix_senha/" config.php sed -i "s/autoreply.my.domain.com/autoreply.exemplo.com/" config.php wget -U NoSuchBrowser/1.0 http://www.numaboa.com/debian/postfixadmin.wording.patch.txt cp postfixadmin_forward.php postfixadmin_forward.php.original patch -p0 < postfixadmin.wording.patch.txt
squirrelmail-configure
Veja o patch baixado: postfixadmin.wording.patch.
Depois instale o plugin (os plugins podem estar em outra ordem):
8. Plugins Plugins Installed Plugins 1. amavisnewsql 2. quota_usage 3. timeout_user 4. postfixadmin S Save data Q Quit<
Agora os usuários não precisam mais se logar no PostfixAdmin para alterar a senha, indicar forwarding ou habilitar as férias. Agora eles possuem funções similares no SquirrelMail (na página de opções - Options).
Chame https://nome_do_host.exemplo.com/mail. Se você desligou as mensagens de férias no PostfixAdmin, então também precisa desligá-las no plugin postfixadmin do SquirrelMail. Você deve usar https://nome_do_host.exemplo.com/phpmyadmiNx para se assegurar de que NÃO HÁ entradas habilitadas na tabela vacation. Também não deve haver registros na tabela vacation_notification ou aliases na tabela alias que enviem mensagens para @autoreply.exemplo.com:
sed -i "s/vacation'] = 'YES/vacation'] = 'NO/" /usr/share/postfixadmin/config.inc.php sed -i "s/Vacation = true/Vacation = false/" /usr/share/squirrelmail/plugins/postfixadmin/config.php
Para ligar novamente as férias:
sed -i "s/vacation'] = 'NO/vacation'] = 'YES/" /usr/share/postfixadmin/config.inc.php sed -i "s/Vacation = false/Vacation = true/" /usr/share/squirrelmail/plugins/postfixadmin/config.php