Arquivo

Archive for the ‘Zimbra – Email’ Category

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.

Categorias:Zimbra - Email Tags:

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/

Categorias:Zimbra - Email Tags:

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) :

Console Administrativo

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”:

Seleção de servidor

3 – As demais opções devem ser mantidas. Clicar em Próximo:

Assistente de migração

4 – Na janela seguinte, deve-se selecionar a fonte (servidor) das contas a serem importadas: selecione “Importar de outro diretório LDAP do Zimbra”.

Source accounts

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”.

Configuração de importação

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”;

Conexão LDAP

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:

Status migração

8 – Na próxima tela, marque a opção “Selecionar contas para importar”:

Seleção de contas

9 – Nesta tela, clicar no botão “Buscar”, do lado esquerdo da janela, serão listadas as contas encontradas para importação:

Listar contas

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:

  1. Selecionar as contas listadas a direita;
  2. Clicar no botão adicionar;
  3. Clicar em póximo;

Seleção de contas

Seleção de contas 2

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.

Conexão IMAP

12 – Na próxima tela, será apresentado um resumo das configurações, se todos os parâmetros estiverem corretos, clicar em “Próximo”:

Análise das configurações

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.