Thunderbird: Utilizando Active Directory e variáveis do ambiente para o pacote corporativo

download (1)

Olá !

Como já publiquei diversas vezes, costumo efetuar muitos trabalhos de criação de pacote corporativo para o Thunderbird. (Caso queira entender: https://respirandolinux.wordpress.com/category/thunderbird/)

É muito comum implementarmos no pacote a obtenção de atributos de servidores Ldap, especialmente o Active Directory. Isso faz com que toda vez que o aplicativo for inicializado a consulta seja efetuada no servidor Ldap. Além de gerar carga no servidor, o Thunderbird fica indisponível caso a estação de trabalho esteja sem comunicação com o servidor.

Para contornar essas limitações desta arquitetura, gostaria de compartilhar com vocês a configuração para se obter os atributos do Active Directory pela estação de trabalho. Cada atributo localizado terá uma variável de ambiente estabelecida; que permanece na conta do usuário mesmo após logoff ou reiniciar a estação, sendo removida somente se solicitado.

Este é o script em VBScript que faz a consulta no AD e mapeia as variáveis:

Set objShell = CreateObject(“WScript.Shell”)
Set objUserEnv = objShell.Environment(“USER”)
Set objADSysInfo = CreateObject(“ADSystemInfo”)
Set objUser = GetObject(“LDAP://dominio.local” & objADSysInfo.UserName)
‘ This will create the variable %first.last% for the first.lastname
objUserEnv(“first.last”) = objUser.givenName & ” ” & objUser.sn
‘ This will create the variable %first% for the first name
objUserEnv(“first”) = objUser.givenName
‘ This will create the variable %last% for the surname
objUserEnv(“last”) = objUser.sn
‘ This will create the variable %mail% for the primary mail address
objUserEnv(“mail”) = objUser.mail
Neste caso, estamos criando as seguintes variáveis:
“first.last” = Contendo o nome completo do usuário
“first” = Primeiro nome
“last” = Sobrenome
“mail” = Endereço de e-mail
Lembrando que no arquivo de configuração automática do Thunderbird, a função getenv deve ser utilizada para obter as variáveis do ambiente.
Exemplo:
userInfo.envUser = getenv(“USERNAME”);
Referências:

Thunderbird: Desabilitando a extensão Test Pilot ao distribuir o aplicativo

Olá ! Quem acompanha meu blog já sabe que trabalho bastante com o recurso de Autoconfig do Thunderbird para distribuir o pacote em corporações:

https://respirandolinux.wordpress.com/category/thunderbird/

Segue a configuração para desabilitar a extensão Test Pilot que vem instalada por padrão com as versões mais recentes do Thunderbird:

lockPref(“extensions.installedDistroAddon.tbtestpilot@labs.mozilla.com”, false);

Thunderbird: Desabilitar tela de importação de mensagens

Olá ! Há um série de artigos publicados sobre a criação de um pacote do Thunderbird corporativo, como todas as configurações, complementos e serviços configurados automaticamente.

Recentemente precisei desabilitar a interface que aparece na primeira inicialização do Thunderbird quando há outro cliente de e-mail instalado, questionando sobre a importação das mensagens. Ocorre que esta tela pelo processo de inicialização do aplicativo é chamada antes mesmo da leitura do arquivo de configuração automática. Para desabilitá-la siga os passos abaixo:

  • Crie o arquivo override.ini na raiz do Thunderbird
  • Adicione o seguinte conteúdo no arquivo:

[XRE]
EnableProfileMigrator=false

Feito isso, a interface de importação de mensagens não será mais acionada.

Referências:

http://forums.mozillazine.org/viewtopic.php?f=39&t=2805275

http://kb.mozillazine.org/Configuration_utilities_for_administrators

Thunderbird: Removendo (de fato) imediamente as mensagens do servidor IMAP

Ao utilizar o Thunderbird simultaneamente com um cliente de e-mail Web (com o ExpressoLivre ou Roundcube, por exemplo), nota-se que o Thunderbird não remove as mensagens do servidor IMAP imediatamente, e selecionar a opção “remover imediatamente do servidor” apenas deixa de enviar as mensagens excluídas para a Lixeira.

Para alterar esse comportamento, há uma configuração oculta que pode ser utilizada, para isso, basta entrar nas opções avançadas (a tela após aceitar que será cuidadoso) e alterar a diretiva mail.imap.expunge_after_delete para true. Feito isso, as mensagens excluídas no Thunderbird serão removidas imediatamente do servidor IMAP.

Se estiver utilizando a configuração automática conforme os meus tutoriais anteriores, segue como deve ficar a entrada no arquivo de configuração:

lockPref(“mail.imap.expunge_after_delete”, true);

Thunderbird: Distribuindo o aplicativo com certificados próprios

Em outros artigos, eu expliquei como distribuir um pacote corporativo do Thunderbird, com configurações do aplicativo e serviços, além de complementos, de forma automática. Neste artigo compartilho com vocês como distribuir certificados próprios.

É muito comum a utilização de certificados auto assinados ou certificados por entidades não reconhecidas pela Mozilla, isso gera o incomodo de ter que aceitar uma exceção de segurança ao conectar no serviço que utiliza este serviço. Para distribuir certificados próprios com o Thunderbird siga os passos abaixo:

1 – Em uma estação com o Thunderbird instalado conecte nos serviços utilizados e aceite as exceções de segurança;

2 – No perfil do usuário encontre os  arquivo com os nomes cert8.db e cert_override.txt;

3 – No pacote do Thunderbird, crie a pasta profile (tudo minusculo) dentro da pasta defaults e copie os arquivos obtidos no perfil do usuário que havia aceitado as exceções.

4 – Com a distribuição do pacote, os perfis já serão criados com os certificados aceitos.

Thunderbird 17: Configurações para o pacote customizado

Nos artigos anteriores, eu compartilhei os procedimentos para criação um pacote customizado do Thunderbird para ser distribuído em ambientes corporativos:

https://respirandolinux.wordpress.com/2012/12/26/thunderbird-distribuindo-um-pacote-customizado-para-windows-xp/

https://respirandolinux.wordpress.com/2012/12/26/thunderbird-distribuindo-um-pacote-customizado-para-linux/

Como o pacote criado havia sido baseado na versão 7  do aplicativo, recentemente o mesmo teve que ser atualizado baseado na versão 17 ESR, que tem uma série de novos recursos, como integração com mensageiros, por exemplo. Compartilho aqui as novas configurações que precisei criar no pacote:

//desabilitar conheça seus direitos

lockPref(“mail.rights.version”, 1);

//desabilitar anti-spam do aplicativo

lockPref(“mail.server.server2.spamLevel”, 0);

//desabilitar pagina inicial

lockPref(“mailnews.start_page.enabled”, false);

//Desabilitar proxy

lockPref(“network.proxy.type”, 0);

///Desabilitar vinculo com bate papo

lockPref(“purple.conversations.im.send_typing”, false);

lockPref(“messenger.startup.action”, 0);

lockPref(“messenger.status.reportIdle”, false);

//Desabilitar telemetria

lockPref(“toolkit.telemetry.prompted”, true);

//Desabilitar testes ao iniciar

lockPref(“mail.winsearch.firstRunDone”, true);

 

 

Thunderbird: Distribuindo um pacote customizado (para Linux)

Nesse tutorial apresento uma solução para distribuir o Thunderbird com os serviços e preferências configurados e complementos instalados automaticamente para Desktops com Linux, assim como o tutorial para ambientes com Windows, isso é feito utilizando o MCD (Mission Control): https://developer.mozilla.org/en-US/docs/MCD,_Mission_Control_Desktop_AKA_AutoConfig

Os passos são os mesmos que foram explicados para gerar o pacote para Windows, com exceção que o Thunderbird é instalado em /opt/thunderbird/, o caminho para buscar os complementos que serão distribuidos automaticamente estão no caminho abaixo:

/home/usuario/.thunderbird/Profiles/mp8eg10a.default/extensions

Portanto, após copiar os complementos basta criar os arquivos de configuração automática (autoconf.js e thunderbird.cfg) conforme o tutorial para Windows.

Feito isso, basta gerar o pacote de acordo com a sua distribuição.

No próximo artigo sobre a distribuição do Thunderbird explicarei como configurar o nome do usuário e endereço de e-mail automaticamente consultando um serviço de diretório, com o Openldap.

Thunderbird: Distribuindo um pacote customizado (para Windows XP)

Nesse tutorial apresento uma solução para distribuir o Thunderbird com os serviços e preferências configurados e complementos instalados automaticamente para Desktops com Windows, isso é feito utilizando o MCD (Mission Control): https://developer.mozilla.org/en-US/docs/MCD,_Mission_Control_Desktop_AKA_AutoConfig

Primeiramente, para gerar o pacote, é necessário instalar o Thunderbird em uma estação com o mesmo sistema operacional para qual o pacote deve ser gerado, neste caso o Windows XP. Portanto, deve-se efetuar o download do aplicativo no site da Mozilla, a versão utilizada foi a 17.0ESR , que possui suporte estendido:

http://www.mozilla.org/en-US/thunderbird/organizations/

Após o download da aplicação, efetuar a instalação padrão, informando o diretório “c:\arquivos de programas\mozilla thunderbird” como destino.

Por padrão, os complementos são instalados por perfil de usuário, para distribuição do Thunderbird com os complementos necessários previamente instalados é necessário seguir os passos abaixo:

Primeiramente, efetuar o download dos complementos necessários nos endereços abaixo:

Display Quotahttps://addons.mozilla.org/thunderbird/downloads/latest/881/addon-881-latest.xpi?src=search

ImportExport Tools https://addons.mozilla.org/pt-br/thunderbird/addon/importexporttools/?src=search

Corretor ortográfico para Português do Brasil https://addons.mozilla.org/pt-br/thunderbird/addon/ortografia-br/?src=search

Signature Switch https://addons.mozilla.org/pt-br/thunderbird/addon/signature-switch/?src=search

Lightininghttps://addons.mozilla.org/thunderbird/downloads/file/132694/lightning-1.0b7-tb+sm-linux.xpi?src=version-history

Executar o Thunderbird que foi instalado na estação que irá gerar o pacote e efetuar a instalação de cada complemento clicando em Ferramentas, Complementos e Instalar de um arquivo no ícone do gerenciador de complementos, que é representado por uma engrenagem.

Agora, é necessário copiar o diretório no perfil do usuário com as extensões que devem acompanhar o Thunderbird por padrão, neste exemplo a conta utilizada é fabio:

C:\Documents and Settings\fabio\Dados de aplicativos\Thunderbird/Profiles/mp8eg10a.default/extensions

Dentro deste diretório, haverá um diretório nomeado como {e2fda1a4-762b-4020-b5ad-a41df1933103} e um arquivo com a extensão .XPI para cada complemento instalado, deve-se copiá-los para o diretório raiz extensions localizado no diretório raiz do Thunderbird que será distribuído, mantendo a subpasta que já existir no mesmo.

Feito isso, os complementos já serão disponibilizados por padrão no momento da distribuição do Thunderbird, sem qualquer intervenção do usuário ou administrador.

O recurso Mission Control,  também conhecido como Mozilla Autoconfig, permite centralizar as configurações do Thunderbird, configurando os serviços automaticamente e definindo políticas padrão. O arquivo criado para este exemplo configura automaticamente os serviços IMAP, SMTP, LDAP e DAVICAL.

Primeiramente, no diretório “defaults/pref/”, que está localizado no diretório raiz do Thunderbird, criar o arquivo autoconf.js conforme abaixo:

pref(“general.config.obscure_value”, 0);

pref(‘general.config.filename’, ‘thunderbird.cfg’);

Criar no diretório raiz do Thunderbird o arquivo thunderbird.cfg, que é responsável pela configuração automática do aplicativo, com o seguinte conteúdo:

Criar no diretório raiz do Thunderbird o arquivo thunderbird.cfg, que é responsável pela configuração automática do aplicativo, com o seguinte conteúdo:

try {

//preferenciaslockPref(“app.update.enabled”, false); //desabilitar atualizacao automatica aplicativo

lockPref(“extensions.update.enabled”, false); //desabilitar atualizacao automatica complementos

lockPref(“mailnews.start_page.enabled”, false); //desabilitar pagina inicial

//catalogo global

lockPref(“ldap_2.autoComplete.directoryServer”, “ldap_2.servers.LDAP1”);

lockPref(“ldap_2.autoComplete.useDirectory”, true);

lockPref(“ldap_2.servers.LDAPSERVER.auth.saslmech”, “”);

lockPref(“ldap_2.servers.LDAPSERVER.description”, “SERVIDOR LDAP”);

lockPref(“ldap_2.servers.LDAPSERVER.filename”, “ldap.mab”);

lockPref(“ldap_2.servers.LDAPSERVER.maxHits”, 100);

lockPref(“ldap_2.servers.LDAPSERVER.uri”, “ldap://servidor.ldap/dc=diretorio,dc=empresa??sub?(objectclass=*)”);

//habilita pesquisa com campo uid no catalogo global, mensagem e calendario

lockPref(“ldap_2.servers.default.attrmap.Custom1”, “uid”);

lockPref(“ldap_2.servers.default.attrmap.PrimaryEmail”, “mailSenderAddress”);

lockPref(“mail.addr_book.quicksearchquery.format”, “?(or(Custom1,c,@V)(PrimaryEmail,c,@V)(DisplayName,c,@V)(FirstName,c,@V)(LastName,c,@V))”);

lockPref(“ldap_2.servers.LDAPSERVER.autoComplete.filterTemplate”, “(|(cn=%v*)(mail=%v*)(sn=%v%*)(uid=%v*))”);

//calendario

lockPref(“calendar.categories.names”, “Acompanhamento,Aniversário,Chamadas,Clientes,Clientes,Competição,Estado,Favoritos,Feriado Especial,Feriados,Férias,Fornecedores,Ideias,Nascimento,Negócios,Pessoal,Prendas,Problemas,Projetos,Variado,Viagem”);

lockPref(“calendar.list.sortOrder”, “86bfae15-4ac0-43b7-9d38-7e8a5c41afa5 5bb18c3f-e10e-4f13-85d6-247562fc961c”);

lockPref(“calendar.registry.5bb18c3f-e10e-4f13-85d6-247562fc961c.cache.enabled”, false);

lockPref(“calendar.registry.5bb18c3f-e10e-4f13-85d6-247562fc961c.calendar-main-default”, true);

lockPref(“calendar.registry.5bb18c3f-e10e-4f13-85d6-247562fc961c.calendar-main-in-composite”, true);

lockPref(“calendar.registry.5bb18c3f-e10e-4f13-85d6-247562fc961c.color”, “#3333FF”);

lockPref(“calendar.registry.5bb18c3f-e10e-4f13-85d6-247562fc961c.imip.identity.key”, “id1”);

lockPref(“calendar.registry.5bb18c3f-e10e-4f13-85d6-247562fc961c.name”, env_user);

lockPref(“calendar.registry.5bb18c3f-e10e-4f13-85d6-247562fc961c.readOnly”, false);

lockPref(“calendar.registry.5bb18c3f-e10e-4f13-85d6-247562fc961c.refreshInterval”, “1”);

lockPref(“calendar.registry.5bb18c3f-e10e-4f13-85d6-247562fc961c.suppressAlarms”, false);

lockPref(“calendar.registry.5bb18c3f-e10e-4f13-85d6-247562fc961c.type”, “caldav”);

lockPref(“calendar.registry.5bb18c3f-e10e-4f13-85d6-247562fc961c.uri”, “http://servidor.davical/caldav.php/”+ env_user +”/home/”);

lockPref(“calendar.registry.86bfae15-4ac0-43b7-9d38-7e8a5c41afa5.calendar-main-in-composite”, true);

lockPref(“calendar.registry.86bfae15-4ac0-43b7-9d38-7e8a5c41afa5.name”, “Casa”);

lockPref(“calendar.registry.86bfae15-4ac0-43b7-9d38-7e8a5c41afa5.type”, “storage”);

lockPref(“calendar.registry.86bfae15-4ac0-43b7-9d38-7e8a5c41afa5.uri”, “moz-storage-calendar://”);

lockPref(“calendar.timezone.local”, “America/Sao_Paulo”);

//Account

lockPref(“mail.account.account1.server”, “server1”);

lockPref(“mail.account.account2.identities”, “id1”);

lockPref(“mail.account.account2.server”, “server2”);

lockPref(“mail.accountmanager.accounts”, “account1,account2”);

lockPref(“mail.accountmanager.defaultaccount”, “account2”);

lockPref(“mail.accountmanager.localfoldersserver”, “server1”);

lockPref(“mail.identity.id1.directoryServer”, “ldap_2.servers.LDAP1”);

lockPref(“mail.identity.id1.organization”, “Correio Empresa”);

lockPref(“mail.identity.id1.overrideGlobal_Pref”, true);

lockPref(“mail.identity.id1.reply_to”, “”);

//configuracao pastas locais e pasta para salvar mensagens enviadas e excluidas

lockPref(“mail.identity.id1.archive_folder”, “imap://”+ env_user +”@servidor.imap/Archives”);

lockPref(“mail.identity.id1.draft_folder”, “imap://”+ env_user +”@servidor.imap/Drafts”);

lockPref(“mail.identity.id1.drafts_folder_picker_mode”, “0”);

lockPref(“mail.identity.id1.encryptionpolicy”, 0);

lockPref(“mail.identity.id1.fcc_folder”, “imap://”+ env_user +”@servidor.imap/Sent”);

lockPref(“mail.identity.id1.fcc_folder_picker_mode”, “0”);

lockPref(“mail.identity.id1.stationery_folder”, “mailbox://nobody@Local%20Folders/Templates”);

lockPref(“mail.identity.id1.tmpl_folder_picker_mode”, “1”);

lockPref(“mail.identity.id1.reply_on_top”, 1); //posiciona resposta acima da mensagem

//IMAP

lockPref(“mail.server.server2.name”, env_user);

lockPref(“mail.server.server2.hostname”, “servidor.imap”);

lockPref(“mail.server.server2.login_at_startup”, true);

lockPref(“mail.server.server2.check_new_mail”, true);

lockPref(“mail.server.server2.check_time”, 4);

lockPref(“mail.server.server2.socketType”, 3);

lockPref(“mail.server.server2.type”, “imap”);

lockPref(“mail.server.server2.userName”, env_user);

lockPref(“mail.server.server2.using_subscription”, false); //nao mostrar somente pastas inscritas

//SMTP

lockPref(“mail.append_preconfig_smtpservers.version”, 2);

lockPref(“mail.identity.id1.smtpServer”, “smtp1”);

lockPref(“mail.smtpserver.smtp1.authMethod”, 3);

lockPref(“mail.smtpserver.smtp1.description”, “Correiolivre”);

lockPref(“mail.smtpserver.smtp1.hostname”, “servidor.smtp”);

lockPref(“mail.smtpserver.smtp1.port”, 465);

lockPref(“mail.smtpserver.smtp1.try_ssl”, 3);

lockPref(“mail.smtpserver.smtp1.username”, env_user);

lockPref(“mail.smtpservers”, “smtp1”);

// Close the try, and call the catch()

} catch(e) {

displayError(“lockedPref”, e);

}

Uma vez instalado o Thunderbird e os complementos incluídos como padrão, empacotar a pasta “c:\arquivos de programas\mozilla thunderbird” para geração do instalador e distribuição conforme as necessidades.

Thunderbird: Instalando complementos para todos os usuários.

Por padrão, os complementos são instalados por perfil de usuário, para distribuição do Thunderbird com os complementos necessários previamente instalados é necessário seguir os passos abaixo:

Primeiramente, efetue o download dos complementos necessários, por exemplo:

Display Quotahttps://addons.mozilla.org/thunderbird/downloads/latest/881/addon-881-latest.xpi?src=search

ImportExport Toolshttps://addons.mozilla.org/pt-br/thunderbird/addon/importexporttools/?src=search

Corretor ortográfico para Português do Brasilhttps://addons.mozilla.org/pt-br/thunderbird/addon/ortografia-br/?src=search

Signature Switchhttps://addons.mozilla.org/pt-br/thunderbird/addon/signature-switch/?src=search

Lightininghttps://addons.mozilla.org/thunderbird/downloads/file/132694/lightning-1.0b7-tb+sm-linux.xpi?src=version-history

Execute o Thunderbird que foi instalado na estação que irá gerar o pacote e efetue a instalação de cada complemento clicando em Ferramentas, Complementos e Instalar de um arquivo no ícone do gerenciador de complementos, que é representado por uma engrenagem.

Agora, é necessário copiar o diretório no perfil do usuário com as extensões que devem acompanhar o Thunderbird por padrão, neste exemplo a conta utilizada é fabio:

/home/fabio/.thunderbird/Profiles/mp8eg10a.default/extensions

Dentro deste diretório, haverá um diretório nomeado como {e2fda1a4-762b-4020-b5ad-a41df1933103} e um arquivo com a extensão .XPI para cada complemento instalado, deve-se copiá-los para o diretório extensions localizado no diretório raiz do Thunderbird que será distribuído, mantendo a subpasta que já existir no mesmo.

Feito isso, os complementos já serão disponibilizados por padrão no momento da distribuição do Thunderbird, sem qualquer intervenção do usuário ou administrador.

Thunderbird : Modificar a consulta no LDAP ao redigir mensagens

Olá ! Essa dica é para quem utiliza o aplicativo Mozilla Thunderbird e utiliza um serviço de diretório (neste exemplo OpenLDAP).

Ao redigir mensagens o retorno da pesquisa no diretório não é satisfatório pois por padrão a consulta que ele efetua busca somente os atributos abaixo:

Oct 27 10:55:46 ldap.laboratorio slapd[2560]: conn=59 op=1 SRCH base=”dc=laboratorio,dc=com,dc=br” scope=2 deref=0 filter=”(|(cn=fabio*)(mail=fabio*)(sn=fabio*))”

No log acima é possível observar que ele está utilizando somente os atributos CN, MAIL e SN como filtro e em alguns casos precisamos consultar outros atributos. Por exemplo, em alguns diretórios o UID do usuário não é o seu nome, e sim algum número de documeto (rg,cpf,etc…) ou a matrícula do mesmo.

O Thunderbird possui um parâmetro oculto para modificar esse consulta, embora existam várias mensagens no fórum da Mozilla relatando essa necessidade. No exemplo abaixo, vamos modificar para a consulta incluir também o atributo UID.

No Thunderbird, clique em  Editar  / Preferências  / Avançado, vá no Editor de Configuração e responda que será cuidadoso.

Crie uma nova string com o nome:

ldap_2.servers.LDAPLABORATORIO.autoComplete.filterTemplate

Observando que LDAPLABORATORIO deve ser substituído pelo nome do diretório criado no Thunderbird, removendo os espaços.

Defina o valor conforme abaixo:

(|(cn=%v*)(mail=%v*)(sn=%v%*)(uid=%v*))

Desta forma, o campo UID também será incluído na consulta, possibilitando que seja possível localizar o contato pelo documento ou matrícula que estiver vinculado a este campo, se for o caso.

Obs:

Testado nas versões 6, 7 e 8 do Thunderbird.

Modifica também a consulta ao convidar participantes no calendário, se estiver utilizando o complemento Lightning.