Skip to content

Instantly share code, notes, and snippets.

View sandromello's full-sized avatar

Sandro Mello sandromello

View GitHub Profile
@sandromello
sandromello / rr.sh
Created July 13, 2014 23:47
Round Robin iptables
#!/bin/bash
#FLUSH
iptables -F
iptables -t nat -F
iptables -F REGRAS_SNAT
iptables -X REGRAS_SNAT
echo 1 > /proc/sys/net/ipv4/ip_forward
@sandromello
sandromello / audit.md
Created June 2, 2014 21:36
Auditing messages in Zimbra
@sandromello
sandromello / cluebringer.md
Last active August 29, 2015 14:02
Policyd AKA Cluebringer Tips for Zimbra

Instalar os pacotes php + php-mysql + httpd + mysql-server

Logar em um servidor MTA:

cd /opt/zimbra/cbpolicyd/share/database/
for i in core.tsql access_control.tsql quotas.tsql amavis.tsql checkhelo.tsql checkspf.tsql greylisting.tsql accounting.tsql
do
./convert-tsql mysql $i
@sandromello
sandromello / zimbra_custom.md
Last active July 8, 2023 14:03
Zimbra Customization Tips

Customizações Zimbra

Subject no Log

Para apresentar o Subject no log precisamos configurar isso no header checks. O header checks nas versões 6+ vem por padrão desabilitado. Portanto vamos habilitar no nível global.

zmprov mcf zimbraMtaBlockedExtensionWarnRecipient FALSE

Agora no arquivo /opt/zimbra/conf/postfix_header_checks.in adicionar ao arquivo a seguinte linha:

@sandromello
sandromello / Zimbra Token Soap API
Last active January 17, 2022 06:33
Get Zimbra Token Soap API Example in C#
// Tested with version 8.0.6
// Read more at http://wiki.zimbra.com/wiki/SOAP_API_Reference_Material_Beginning_with_ZCS_8.0#ZCS_8.0.6
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Net;
using System.IO;
using System.Security.Cryptography.X509Certificates;
@sandromello
sandromello / LocamailHttpRequest.cs
Last active August 29, 2015 14:01
Example of http request C#
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Net;
using System.Collections;
namespace MailApiModule {
public static class LocamailHttpRequest {
public static LocamailHttpResponse DoRequest(string url, Method method, object serializedData) {
@sandromello
sandromello / zimbra_soap_change_password.py
Created May 7, 2014 14:57
Change Password Example using Soap Zimbra API
import requests, sys
# XML para obter o token para realizar as chamadas na API
get_token = '<?xml version="1.0" ?><soap:Envelope xmlns:soap="http://www.w3.org/2003/05/soap-envelope"><soap:Header><context xmlns="urn:zimbra"><format type="xml"/></context></soap:Header><soap:Body><AuthRequest xmlns="urn:zimbraAdmin"><account by="name">[email protected]</account><password>adminpassword</password></AuthRequest></soap:Body></soap:Envelope>'
# Header da requisicao
req_headers = { 'Content-Type': 'application/soap+xml' }
server = 'https://yourserver:7071/service/admin/soap'
# server: endereco da requisicao; data: dados do corp da requisicao "body content"; header: os headers da requisicao; verify: desabilita checagem de certificados, https urls
@sandromello
sandromello / dr.md
Last active August 29, 2015 13:57
Disaster Recover Zimbra - Contas/Configurações

Preparando o novo servidor

Antes de começar, certifique-se que o novo servidor está configurado com todas os parâmetros do servidor antigo como hostname, domínio, e senhas.

  • Bloqueie qualquer acesso externo ao servidor pelo seu firewall. Se possível, faça um bloqueio das portas externas para evitar qualquer problema do servidor tentar acessar um endereço externo, caso não seja uma instalação multiserver.
  • O /etc/hosts deve estar configurado corretamente, pois ele utilizará as entradas para se conectar no ldap;

Instalando o novo servidor

  • Copie o arquivo de licença para um diretório qualquer;
  • Rode o ./install.sh e siga os passos do instalador;
@sandromello
sandromello / debug
Created October 18, 2012 15:09
Debugger
import logging
LOGGING_LEVELS = {'critical': logging.CRITICAL,
'error': logging.ERROR,
'warning': logging.WARNING,
'info': logging.INFO,
'debug': logging.DEBUG}
class Debug(object):
def __init__(self, caller, debugfile='pleskydebug.log', type='default', debug='False'):
@sandromello
sandromello / Windows Debug WCF
Created September 25, 2012 21:13
Log, Trace - C#
<configuration>
<system.serviceModel>
<diagnostics>
<!-- Enable Message Logging here. -->
<!-- log all messages received or sent at the transport or service model levels >
<messageLogging logEntireMessage="true"
maxMessagesToLog="300"
logMessagesAtServiceLevel="true"
logMalformedMessages="true"
logMessagesAtTransportLevel="true" />