Criação e atualização de Feeds no Zimbra
#!/bin/bash # Script para criacao e atualizacao de Feeds RSS nas caixas postais do Zimbra LOG=/etc/feeds/log domains=/etc/feeds/domains feeds=/etc/feeds/feeds zmmailbox=/opt/zimbra/bin/zmmailbox while read dom; do dominio=$dom for usuario in $(/opt/zimbra/bin/zmprov -l gaa $dominio);do echo "" >> $LOG echo "Usuario: " $usuario >> $LOG while read line_feed; do feed=`echo $line_feed | cut -d* -f1` url_feed=`echo $line_feed | cut -d* -f2` canal=`$zmmailbox -z -m $usuario gaf | grep "$feed"` if [ -n "$canal" ]; then echo "Atualizando feed " $feed >> $LOG $zmmailbox -z -m $usuario syncfolder "$feed" >> $LOG else echo "Criando feed: " $feed >> $LOG $zmmailbox -z -m $usuario cf -u $url_feed "$feed" >> $LOG fi done < $feeds # fim while feed done # fim for done < $domains #fim while dominio
Explicação do Script:
Variáveis:
- LOG: armazena as informações de execução do script.
- domains: contém os domínios configurados no servidor, ou que receberão os Feeds. No arquivo deve ser informado um domínio por linha.
Ex: dominio.com.br dominio2.com.br
- feeds: contém as urls dos feeds. Também deve ser informado um por linha. O ‘*’ é o caracter delimitador no script e deve ser informado.
Ex: /Inbox/Canal TI* http://site.com.br/index.php/ti?format=feed&type=rss* /Inbox/Canal RH* http://site.com.br/index.php/rh?format=feed&type=rss*
- zmmailbox: serviço que adicionará/atualizará os feeds;
- dominio: domínio selecionado a cada iteração ‘do while read dom’;
- usuario: usuário selecionado na execução do zmprov no loop ‘for’;
- feed: primeira coluna do arquivo feeds. Corresponde à localização e nome do feed a ser criado/atualizado;
- url_feed: segunda coluna do arquivo feeds. Corresponde ao endereço do feed a ser criado/atualizado;
- canal: variável utilizada para verificar se o feed já existe para o usuário selecionado;
Primeiramente o script lê o arquivo dos domínios (domains) cadastrados. Cada iteração seleciona um domínio e dentro do loop são percorridas as caixas postais correspondentes. Em cada caixa postal, é verificada a existência de cada uma das urls presentes no arquivo feeds, caso o Feed não exista ele é criado, se já existe é atualizado.
Antispam Zimbra – Blacklist e Whitelist
Tema (problema) de hoje Spam que não é barrado no AntiSpam. É, acontece!!
E como tudo na TI nada funciona 100%, nem depois da intervenção. A briga de gato e rato é constante e nós estamos aí, uma hora encontramos o ninho do rato e acabamos com a bagunça. Enquanto isso não acontece, dificultamos a vida deles.
De volta ao Antispam, palavras de Marciel Meurer (http://pt.scribd.com/doc/63799499/Blacklist-e-Whitelist-No-Zimbra)
“O Zimbra disponibiliza uma opção para que sejam criadas Blacklist e Whitelist. Primeiro detalhe antes de mostrar como proceder. Whitelist prevalece sobre a Blacklist, então caso tenha bloqueado na Blacklist o dominio gmail.com e liberado na Whitelist o endereço simpsons@gmail.com, os e-mails enviados por simpsons@gmail.com irão ir normalmente para o usuário.”
1 – Como root, adicione no arquivo /opt/zimbra/conf/amavisd.conf.in, as seguintes linhas:
read_hash (\%whitelist_sender, "/opt/zimbra/conf/whitelist"), read_hash (\%blacklist_sender, "/opt/zimbra/conf/blacklist"),
Só para manter a organização do arquivo, adicionei as linhas abaixo da seguinte linha (no arquivo ela está comentada, e deve ser mantida assim).
# read_hash("/var/amavis/sender_scores_sitewide"),
Nota: Não alterem o arquivo /opt/zimbra/conf/amavisd.conf, podem ter alguns problemas com isso.
2 – Agora vamos criar e preencher os arquivos que receberão nossas listas:
# vim /opt/zimbra/conf/blacklist # vim /opt/zimbra/conf/whitelist
3 – Reiniciar o serviço de Antispam
# su – zimbra
$ zmamavisdctl restart
Referências:
Restringindo envio de emails para domínios externos no Zimbra
“É de bloqueios de restrições que se faz a felicidade de um SysAdmin!” Isso do ponto de vista dos usuários, pra quem está do lado de cá da linha quando se ouve ‘restrições e bloqueios’ logo se pensa em problemas. Nada é tão simples quanto parece e nem tão fácil como imaginamos. Vamos ao cenário:
Servidor: Ubuntu 10.04LTS + Zimbra 7.2.0 G.A
Necessidade: O servidor deve possuir 3 domínios, sendo um interno e 2 válidos e as permissões como segue:
– dominio.com.br – sem restrições de envio/recebimento;
– dominio2.com.br – sem restrições de envio/recebimento;
– dominio.interno – envia e recebe mensagens somente do próprio domíno e dos domínios acima;
Solução (com o usuário zimbra, siga as instruções abaixo):
1 – Criar o arquivo onde serão listados os domínios com restrição de envio:
$ cd /opt/zimbra/conf
$ echo “empresa.intranet restrict_tpmail” > restrito
$ postmap restrito
2 – Criar o arquivo onde serão listados os domínios que receberão mensagens dos domínios restritos (especificados no passo anterior):
$ cd /opt/zimbra/conf
$ echo “empresa.intranet OK” > liberados
$ echo “dominio.com.br OK” >> liberados
$ echo “dominio2.com.br OK” >> liberados
$ postmap liberados
3 – Editar o arquivo zmmta.cf, localizar a linha “POSTCONF virtual_transport LOCAL postfix_virtual_transport” e logo abaixo inserir:
$ cd /opt/zimbra/conf
$ vim zmmta.cf
POSTCONF smtpd_sender_restrictions FILE postfix_sender_restrictions.cf POSTCONF smtpd_restriction_classes restrict_tpmail POSTCONF restrict_tpmail FILE postfix_restrict_tpmail.cf
4 – Criar os arquivos mencionados no passo acima, informando ao postfix as regras de acesso:
$ cd /opt/zimbra/conf
$ echo “check_sender_access hash:/opt/zimbra/conf/restrito” > postfix_sender_restrictions.cf
$ echo “check_recipient_access hash:/opt/zimbra/conf/liberados, reject” >> postfix_restrict_tpmail.cf
5 – Reiniciar o serviço para validar as configurações:
$ zmcontrol restart
Referências:
Administrando o zimbra via cli
Pra quem não é adepto às interfaces gráficas…. ou por algum motivo não pode acessar a interface segue um ótimo trabalho de Guto Carvalho mostrando como fazer tudo ‘na unha’ no Zimbra
http://gutocarvalho.net/mediawiki/index.php?title=ZCS_Administrando_via_CLI#entenda_zimbra-cli
Completando a idéia, segue também o trabalho do Cria Fácil:
http://criafacil.com.br/lista-de-comandos-zimbra-criafacil-com-br/
Personalizar logos no Zimbra
Além de ser uma ótima ferramenta de trabalho, intuitiva e com muitos recursos, o pacote de colaboração Zimbra nos dá a opção de customizar ou alterar seus padrões.
Um dessas ‘regalias’ é poder exibir no sistema a logomarca da empresa. Para isso, são alterados 3 parâmetros do serviço, são eles:
- zimbraSkinLogoURL: link que será acessado a partir dos logos exibidos, tanto na tela de login quanto a imagem exibida no canto superior da janela;
- zimbraSkinLogoLoginBanner: imagem exibida nas telas de login e splash do Zimbra, o tamanho deve ser de 450 x 100 pixels;
- zimbraSkinLogoAppBanner: imagem exibida no canto esquerdo superior da tela após login do usuário, o tamanho deve ser de 120 x 35 pixels.
As imagens utilizadas devem ser salvas no diretório “/opt/zimbra/jetty/webapps/zimbra/img/” do servidor. Para alterar as logos e a URL de acesso basta executar os seguintes comandos com o usuário zimbra:
$ zmprov modifyDomain empresa.com.br zimbraSkinLogoURL \
http://www.minhaempresa.com.br $ zmprov modifyDomain empresa.com.br zimbraSkinLogoLoginBanner \
http://mail.empresa.com.br/img/logo_banner_empresa.png $ zmprov modifyDomain empresa.com.br zimbraSkinLogoAppBanner \
http://mail.empresa.com.br/img/banner_app_logo_empresa.png
Se você tem por exemplo vários domínios configurados e cada um é utilizado por uma empresa, possivelmente as logomarcas serão diferentes. Assim, cada página de login pode ser personalizada de acordo com a empresa. No nosso exemplo, se tivessemos outro domínio no servidor, para alterar a logo os passos seriam os mesmos, apenas alterando o domínio e os nomes das imagens:
$ zmprov modifyDomain empresa2.com.br zimbraSkinLogoURL \
http://www.minhaempresa2.com.br $ zmprov modifyDomain empresa2.com.br zimbraSkinLogoLoginBanner \
http://mail.empresa2.com.br/img/logo_banner_empresa2.png $ zmprov modifyDomain empresa2.com.br zimbraSkinLogoAppBanner \
http://mail.empresa2.com.br/img/banner_app_empresa2.png
Feito isso, é necessário reiniciar o serviço para que as alterações sejam carregadas, ainda com o usuário zimbra, execute o comando:
$ zmmailboxdctl reload
Fontes:
Zimbra Open Source – Export/Import de caixas postais e mensagens
Como sempre no mundo Open Source, tudo funciona muito bem, até que você precisa fazer uma migração. Recentemente tive problemas em um servidor de emails usando o pacote de colaboração Zimbra e minha única solução era exportar as caixas postais e importar em uma nova instalação.
Como o servidor antigo estava com problemas na base, os tradicionais backups de sincronia da /opt/zimbra não funcionariam, e as mensagens também estavam divididas em dois volumes, o que complicaria o sincronismo, caso pudesse ser considerado.
Depois de muita briga e muitos testes, encontrei uma solução para migrar somente caixas postais e mensagens, o que no fim das contas acabou sendo muito mais simples do que o esperado.
O servidor novo foi instalado e todas os parâmetros e configurações referentes a COS (Classes de serviços, domínios, zimlets, configurações globais e de servidor) foram ajustados, com tudo certo, o próximo passo era a importação das contas, o que faremos a seguir.
1 – No console administrativo do zimbra, clicar na opção “Migração de Conta” (1) e em seguida “Assistente de Migração” (2) :
2 – Na janela que abrir, será informado de que tipo de servidor será feita a importação. Em Tipo de servidor de email, selecione “Pacote de colaboração Zimbra”:
3 – As demais opções devem ser mantidas. Clicar em Próximo:
4 – Na janela seguinte, deve-se selecionar a fonte (servidor) das contas a serem importadas: selecione “Importar de outro diretório LDAP do Zimbra”.
5 – O próximo passo é informar como serão definidas as senhas das contas importadas, o endereço e porta do host SMTP de busca.
OBS: Nesta importação utilizei uma senha padrão para todas as contas e habilitei a opção “Solicitar aos usuários que alterem a senha no primeiro login”.
6 – Na próxima tela devem ser informados os parâmetros para conexão ao servidor LDAP, são eles:
- URL do servidor LDAP: endereço do servidor de email;
- Porta de conexão: A porta padrão do LDAP é 389;
- DN: deixar os valores default;
- Senha do LDAP: esta senha pode ser obtida no arquivo /opt/zimbra/conf/localconfig.xml:
<localconfig> <key name="ldap_postfix_password"> <value>Zh5wvTppM</value> </key>
- Filtro LDAP: também manter os valores fornecidos;
- Base de busca LDAP: domínios existentes no email, para o domínio teste.com.br, por ex, a base seria “dc=teste,dc=com,dc=br”;
7 – A seguir será mostrado um resumo sobre a importação das contas, como domínios encontrados, número de contas encontradas e será disponibilizado um arquivo com as contas para download. Para este procedimento não é necessário baixá-lo:
8 – Na próxima tela, marque a opção “Selecionar contas para importar”:
9 – Nesta tela, clicar no botão “Buscar”, do lado esquerdo da janela, serão listadas as contas encontradas para importação:
10 – Após listadas as contas, é necessário selecioná-las e adicioná-las à lista de importação, neste momento são necessárias as seguintes ações:
- Selecionar as contas listadas a direita;
- Clicar no botão adicionar;
- Clicar em póximo;
Executar os passos acima até que não haja mais contas do lado esquerdo da janela.
Nota: Se o botão "Adicionar tudo" for utilizado, as contas são copiadas para
a lista de importação, mas são importadas com erro e a importação de mensagens
não é concluída com êxito.
11 – O próximo passo é informar os dados da conexão IMAP:
- Tipo de coenxão: SSL (padrão);
- Host IMAP: endereço do servidor;
- Porta do IMAP: 993 (padrão);
- Login de administrador: uma conta de acesso com permissões administrativas;
- Senha de administrador.
12 – Na próxima tela, será apresentado um resumo das configurações, se todos os parâmetros estiverem corretos, clicar em “Próximo”:
Após executar os procedimentos acima, as contas já podem ser visualizadas no painel. Agora a ferramenta de migração zmztozmig será configurada para importação das mensagens. P
Para isso edite o arquivo zmztozmig.conf:
# vim /opt/zimbra/conf/zmztozmig.conf
Devem ser alterados os seguintes parâmetros:
#Source ZCS server IP/name,admin user name and password, server port SourceZCSServer=zcs1.example.com SourceAdminUser=Admin SourceAdminPwd=pwdpwd SourceAdminPort=7071
- SourceZCSServer: servidor_que_será_migrado
- SourceAdminUser: usuário com permissões administrativas
- SourceAdminPwd: senha do usuário
- SourceAdminPort: 7071 (padrão)
#Destination/Target ZCS server IP/name,admin user name and password, server port TargetZCSServer=zcs2.example.com TargetAdminUser=Admin TargetAdminPwd=pwdpwd TargetAdminPort=7071
- TargetZCSServer: novo_servidor
- TargetAdminUser: usuário com permissões administrativas
- TargetAdminPwd: senha do usuário
- TargetAdminPort: 7071 (padrão)
#Threads to run simultaneously Threads=5
Número de processos executados simultaneamente.
#Do you want to keep tar mailbox files after successful migration- TRUE/FALSE KeepSuccessFiles=TRUE
Esse opção permite manter uma cópia de cada conta (em um arquivo compactado), no caminho setado na linha “SuccessDirectory=/tmp/ztozmig/successes/”. Caso não deseje manter estes arquivos após a importação, altere o parâmetro acima para “FALSE”.
Descomentar a seguinte linha:
#resolve=skip DomainMap=zcs1.example.com zcs2.example.com
Nesta linha devem ser informados o domínio a ser importado e o domínio que receberá as contas.
Domains=zcs1.example.com,zcs2.example.com
Esta linha deve ser omitida no caso da importação não ser do domínio inteiro, quando apenas algumas contas serão importadas.
Accounts=all
Utilize o parametro ‘all’ para importar todas as contas naquele domínio, ou os endereços separados por vírgula.
Com todos os parâmetros alterados, deve ser iniciar a importação. Com o usuário zimbra (su – zimbra), executar o script:
$ /opt/zimbra/libexec/zmztozmig -d
A opção “-d” pode ser omitida, a função dela é mostrar o log da importação, o que também pode ser visualizados nos arquivos do diretório /opt/zimbra/log/ztozmiglogs. Após a importação será exibido um resumo com o número de contas do servidor, o número de contas importadas com sucesso, número de contas com falha e o tempo da importação.
Bom, é isso. Caminho simples e objetivo depois de passar por umas pedrinhas no zimbra… Espero que possa ajudar mais alguém.