Pré-requisitos
Preencha as informações de cada conta que você utilizará para gerar as assinaturas. Veja abaixo as configurações (Na WebCli – console de gerenciamento web do zimbra – sabe a porta 7071???)
Detalhe importante! Não consegui imprimir na assinatura os caracteres acentuados de forma correta. Portanto, nos campos com acentos, utilizei TAGs HTML (São Paulo – São Paulo sabe???) – Se você souber como ajustar essa opção, por favor, comenta, entra em contato com kram3r(at)gmail.com, vai lá no Zimbrasil do telegram e ajuda!
Se você tiver muitos usuários e eles não tem a informação básica da empresa (endereço, telefone principal, etc), tente utilizar o zmprov para popular ou definir essas informações onde:
street = endereço l = (letra L minusculo) cidade st = ESTADO (UF) co = País postalCode = CEP telephoneNumber = Número do telefone (costumo colocar o número centra da empresa) mobile = Número do celular do usuário title = Cargo do usuário
A partir daí, você pode executar o comando zmprov ma para modificar os valores. Faça um script para modificar todas as contas que terão a nova assintaura.
#Vamos definir a cidade para são paulo - por conta do código HTML da acentuação) zmprov ma usuario@dominio.com.br l "São Paulo" #Ou vamos definir a cidade para Rio de Janeiro - sem o uso de código HTML zmprov ma usuario@dominio.com.br l "Rio de Janeiro"
Informações gerais
Informações do contato
Mãos a obra!
#!/bin/bash #Defina um email para recuperar os dados da assinatura. ACCOUNT="ananias@zimbrasil.com.br" IFS=$'\n' #Aqui é criada a mágica! será retornado um Array para que possamos utilizar em nosso script que gera a assinatura. signature=($(zmprov ga $ACCOUNT | egrep "(^cn|^company|^street|^l|^st|^co|^postalCode|^telephoneNumber|^mobile|^title)" | cut -d : -f 2 | sed 's/^\ //g')) #Personal data NAME=${signature[0]} COMPANY=${signature[2]} TITLE=${signature[9]} #Contacts PHONE=${signature[8]} MOBILE=${signature[4]} MAIL=$ACCOUNT #Address STREET=${signature[7]} CITY=${signature[3]} STATE=${signature[6]} ZIP=${signature[5]} COUNTRY=${signature[1]} #echo -e " ### Exibir o Codigo do Array para simples conferencia ### caso tenha algum campo errado acima. Codigo 0= ${signature[0]} - NAME Codigo 1= ${signature[1]} - COUNTRY Codigo 2= ${signature[2]} - COMPANY Codigo 3= ${signature[3]} - CITY Codigo 4= ${signature[4]} - MOBILE Codigo 5= ${signature[5]} - ZIP Codigo 6= ${signature[6]} - STATE Codigo 7= ${signature[7]} - STREET Codigo 8= ${signature[8]} - PHONE Codigo 9= ${signature[9]} - TITLE "
O resultado, será algo como esse:
### Exibir o Codigo do Array para simples conferencia
### caso tenha algum campo errado acima.
Codigo 0= Ananias Filho – NAME
Codigo 1= BR – COUNTRY
Codigo 2= ZimBrasil – COMPANY
Codigo 3= São Paulo – CITY
Codigo 4= 11 91234 5678 – MOBILE
Codigo 5= 04111-000 – ZIP
Codigo 6= SP – STATE
Codigo 7= Rua do Telegram.me 2018 – STREET
Codigo 8= 11 3333 9999 – PHONE
Codigo 9= Administrador do Grupo ZimBrasil – TITLE### Perceba que o email não veio porque já informamos no $ACCOUNT e confirmamos no $MAIL (isso foi feito para fins de exemplo. O $MAIL irá sumir quando fizermos a busca de todas as contas pelo LDAP do Zimbra).
Agora, iremos fazer o script inserir no Ldap do zimbra a assinatura em HTML contendo: Nome, Cargo (TITLE), Telefone ($PHONE), Celular ($MOBILE) e email ($MAIL)
Lembrou de fazer aquele script lá em cima para atualizar os telefones e cargos? ou colocou tudo na mão?
#!/bin/bash #Defina um email para recuperar os dados da assinatura. MAIL="ananias@zimbrasil.com.br" IFS=$'\n' #Aqui é criada a mágica! será retornado um Array para que possamos utilizar em nosso script que gera a assinatura. signature=($(zmprov ga $MAIL | egrep "(^cn|^company|^street|^l|^st|^co|^postalCode|^telephoneNumber|^mobile|^title)" | cut -d : -f 2 | sed 's/^\ //g')) #Personal data NAME=${signature[0]} COMPANY=${signature[2]} TITLE=${signature[9]} #Contacts PHONE=${signature[8]} MOBILE=${signature[4]} MAIL=$ACCOUNT #Address STREET=${signature[7]} CITY=${signature[3]} STATE=${signature[6]} ZIP=${signature[5]} COUNTRY=${signature[1]} #Vamos criar a assinatura e definir como habilitada zmprov ma $MAIL zimbraPrefMailSignatureEnabled TRUE #Vamos inserir o código HTML zmprov csig $MAIL defaultCompanySignature zimbraPrefMailSignatureHTML " <b style='font-size: 14px; color: #2E6885;'>$NAME</b> <i style='font-size: 12px;'>$TITLE</i> <div style='font-size: 12px;'>$PHONE / $MOBILE</div> <div style='font-size: 12px;'>$MAIL</div> "
O resultado será a hash da Assinatura do usuário:
zimbra@zimbra:~$ bash /tmp/assinatura.sh 03a16ee2-f2a7-452c-a08c-9117538381bc
Atualize a tela do webmail do zimbra, ou saia e entre novamente.
Crie um novo email e você verá a assinatura no final do editor.
Opa!!! bem legal né?
Mas vamos melhorar??? Colocar imagens, fazer um template apresentável, fazer coisa de gente que gosta de mostrar sua marca!
Antes de copiar e colar o conteúdo do script, vai lá embaixo e veja o resultado!
</pre> #!/bin/bash ACCOUNT="ananias@zimbrasil.com.br" IFS=$'\n' signature=($(zmprov ga $ACCOUNT | egrep "(^cn|^company|^street|^l|^st|^co|^postalCode|^telephoneNumber|^mobile|^title)" | cut -d : -f 2 | sed 's/^\ //g')) #### Define signature values #### # Signature Name SIGNATURE_NAME="CompanySignatureName" # Comapany URL and Logo URL_DOMAIN="https://www.zimbrasil.com.br" URL_LOGO="https://www.zimbrasil.com.br/wp-content/uploads/2018/08/ZimBrasil_Logo_transparent.png" #Personal data NAME=${signature[0]} COMPANY=${signature[2]} TITLE=${signature[9]} #Contacts PHONE=${signature[8]} MOBILE=${signature[4]} MAIL=$ACCOUNT #Address STREET=${signature[7]} CITY=${signature[3]} STATE=${signature[6]} ZIP=${signature[5]} COUNTRY=${signature[1]} #echo -e " zmprov ma $MAIL zimbraPrefMailSignatureEnabled TRUE SIGNATURE_ID=`zmprov csig $MAIL $SIGNATURE_NAME zimbraPrefMailSignatureHTML " <table style='font-family: Verdana, sans-serif;' cellpadding='0' cellspacing='0'> <tbody> <tr> <td style='border-right: 2px solid; border-right-color: #2e6885; padding-right: 15px; text-align: right; vertical-align: top;' valign='top'> <table style='margin-right: 0; margin-left: auto;' cellpadding='0' cellspacing='0'> <tbody> <tr> <td style='height: 55px; vertical-align: top; text-align: right; font-family: Verdana, sans-serif; color: #444444;' valign='top' align='right'><span style='font-family: Verdana, sans-serif; color: #444444; font-size: 14pt; font-weight: bold;'><span style='font-size: 12pt;'> $NAME </span><span><br /></span></span><span style='font-family: Verdana, sans-serif; color: #444444; font-size: 8pt;'> $TITLE </span></td> </tr> <tr> <td style='height: 40px; vertical-align: top; padding: 0px; font-family: Verdana, sans-serif; color: #444444; text-align: left;' valign='top' align='right'><span style='font-size: 8pt;'><span style='font-family: Verdana, sans-serif; color: #444444;'>phone: $PHONE<br /></span> <span style='font-family: Verdana, sans-serif; color: #444444;'>mobile: $MOBILE</span><br /><span style='font-family: Verdana, sans-serif; color: #444444;'>$MAIL</span></span></td> </tr> <tr> <td style='height: 20px; vertical-align: middle; text-align: right;' valign='middle' align='right'></td> </tr> </tbody> </table> </td> <td style='padding-left: 15px; font-size: 1pt; vertical-align: top;' valign='top'> <table cellpadding='0' cellspacing='0'> <tbody> <tr> <td style='height: 55px; vertical-align: top;' valign='top'><a href='$URL_DOMAIN' target='_blank' rel='noopener'><img alt='logo' style='height: 50px; width: auto; border: 0;' height='50' border='0' src='$URL_LOGO' /></a></td> </tr> <tr> <td style='height: 40px; vertical-align: top; padding: 0; font-family: Verdana, sans-serif; color: #444444;' valign='top'><span style='font-size: 8pt;'><span style='font-family: Verdana, sans-serif; color: #444444;'>$STREET<br /></span> <span style='font-family: Verdana, sans-serif; color: #444444;'>$ZIP<br></span><span style='font-family: Verdana, sans-serif; color: #444444;'> $CITY , $STATE / $COUNTRY </span></span></td> </tr> <tr> <td style='height: 20px; vertical-align: middle;' valign='middle'><a href='$URL_DOMAIN' target='_blank' rel='noopener' style='text-decoration: none;'><span style='font-size: 10pt; font-family: Verdana, sans-serif; color: #bd272d;'><span style='color: #2e6885; font-family: Verdana, sans-serif;'>$URL_DOMAIN</span></span></a></td> </tr> </tbody> </table> </td> </tr> </tbody> </table> " ` #Vamos definir a assinatura criada como default para Respostas e encaminhamentos #Lets define it as Replay/Forward signature default zmprov ma $ACCOUNT zimbraPrefForwardReplySignatureId "$SIGNATURE_ID" <pre>
Olha o resultado!
Há alguns sites na internet para gerar assinaturas por email como o https://www.mail-signatures.com/signature-generator/#/company-data (tem vários templates)
Como tenho outras coisas para fazer agora, irei parar por aqui e qualquer hora retorno para mostrar como aplicar para todos os usuários do dominio ok?
Comentários serão bem-vindos!
Comentários