viernes, 9 de marzo de 2012

Mensajes de voz por correo


En este documento detallaremos los pasos necesarios para que cuando alguien nos deje un mensaje de voz en nuestro buzón, se envié por mail un archivo wav con el mensaje que nos dejaron. En este caso utilizaremos una cuenta de gmail para el envió del mensaje.

Prerequisitos
Tener instalado Postfix

#apt-get install postfix libsasl2-modules
En el archivo /etc/asterisk/voicemail.conf configuramos la casilla del interno y agregamos las siguientes líneas:
[default]
1004 => 1234,Jefe Ventas,micuenta@yahoo.com

Configurar una cuenta Gmail en Postfix para enviar correo de Asterisk

Utilizamos una cuenta creada en gmail  "cuenta@gmail.com" y su contraseña: "contraseña"
Pasos:

1) editamos el archivo /etc/postfix/main.cf.
2) Eliminamos el contenido.
3) Agregamos las siguientes líneas: 

# SMTP relayhost
relayhost = [smtp.gmail.com]:587
## TLS Settings
smtp_tls_loglevel = 1
smtp_tls_CAfile = /etc/postfix/certs/CAcert.pem
smtp_tls_cert_file = /etc/postfix/certs/mycert.pem
smtp_tls_key_file = /etc/postfix/certs/mykey.pem
smtp_use_tls = yes
smtpd_tls_CAfile = /etc/postfix/certs/CAcert.pem
smtpd_tls_cert_file = /etc/postfix/certs/mycert.pem
smtpd_tls_key_file = /etc/postfix/certs/mykey.pem
smtpd_tls_received_header = yes
smtpd_use_tls = yes
# configuracion tls
smtp_use_tls = yes
smtp_sasl_auth_enable = yes
smtp_sasl_password_maps = hash:/etc/postfix/sasl_passwd
smtp_sasl_security_options = noanonymous
smtp_sasl_tls_security_options = noanonymous
# alias de mapeo interno a externo
smtp_generic_maps = hash:/etc/postfix/generic

4) Creamos el archivo sasl_passwd en /etc/postfix/
5) Agregamos las siguientes líneas:
[smtp.gmail.com]:587  cuenta@gmail.com:contraseña
6) Creamos el archivo generic en /etc/postfix/
7) Agregamos las siguientes líneas:
root@localhost.localdomain cuenta@gmail.com

aquí tenemos que cambiar el localhost por el nombre de la maquina y el
localdomain por el dominio local, lo podemos ver en /etc/hosts.

8) Cambiamos los permisos escribiendo lo siguiente:
chmod 600 /etc/postfix/sasl_passwd
chmod 600 /etc/postfix/generic
9) Se cifran los archivos
postmap /etc/postfix/sasl_passwd
postmap /etc/postfix/generic

 En muchos foros aparece que para crear los certificados se deben seguir los siguientes pasos

[root@asterisk]# mkdir /etc/postfix/certs/
[root@asterisk]# cd /etc/postfix/certs/
[root@asterisk]# cd certs
[root@asterisk]# openssl dsaparam 1024 -out dsa1024.pem
[root@asterisk]# openssl req -x509 -nodes -days 3650 -newkey
dsa:dsa1024.pem -out mycert.pem -keyout mykey.pem
[root@asterisk]# ln -s mycert.pem CAcert.pem
[root@asterisk]# openssl req -x509 -new -days 3650 -key /etc/postfix/
certs/mykey.pem -out /etc/postfix/certs/mycert.pem
[root@asterisk]# rm dsa1024.pem
Cuando uno utiliza estos certificados para con una cuenta de gmail nos sale un error que se puede ver en los logs de mail (/var/log/mail) que decía:

certificate verification failed for smtp.gmail.com[74.125.157.109]:587: untrusted issuer /C=US/O=Equifax/OU=Equifax Secure Certificate Authority 

El problema radica en el hecho de que Google ha cambiado proveedores de certificados de Thawte a Equifax, y su sistema de correo no reconoce la autoridad de certificación de Equifax como válido. La solución es añadir una copia del certificado de Equifax como certificado root   local de Postfix.  Para solucionar este problema hacemos el paso 10.
 Hacer previamente estos pasos:

[root@asterisk]# mkdir /etc/postfix/certs/
[root@asterisk]# cd /etc/postfix/certs/
[root@asterisk]# ln -s mycert.pem CAcert.pem
10) Creamos una copia local de los certificados Equifax y  Thawte que utiliza Gmail :

Creamos  un archivo llamado Equifax_Secure_CA.pem en el  /etc/postfix/ que contenga lo siguiente:
-----BEGIN CERTIFICATE-----
MIIDIDCCAomgAwIBAgIENd70zzANBgkqhkiG9w0BAQUFADBOMQswCQYDVQQGEwJVUzEQMA4GA1UE
ChMHRXF1aWZheDEtMCsGA1UECxMkRXF1aWZheCBTZWN1cmUgQ2VydGlmaWNhdGUgQXV0aG9yaXR5
MB4XDTk4MDgyMjE2NDE1MVoXDTE4MDgyMjE2NDE1MVowTjELMAkGA1UEBhMCVVMxEDAOBgNVBAoT
B0VxdWlmYXgxLTArBgNVBAsTJEVxdWlmYXggU2VjdXJlIENlcnRpZmljYXRlIEF1dGhvcml0eTCB
nzANBgkqhkiG9w0BAQEFAAOBjQAwgYkCgYEAwV2xWGcIYu6gmi0fCG2RFGiYCh7+2gRvE4RiIcPR
fM6fBeC4AfBONOziipUEZKzxa1NfBbPLZ4C/QgKO/t0BCezhABRP/PvwDN1Dulsr4R+AcJkVV5MW
8Q+XarfCaCMczE1ZMKxRHjuvK9buY0V7xdlfUNLjUA86iOe/FP3gx7kCAwEAAaOCAQkwggEFMHAG
A1UdHwRpMGcwZaBjoGGkXzBdMQswCQYDVQQGEwJVUzEQMA4GA1UEChMHRXF1aWZheDEtMCsGA1UE
CxMkRXF1aWZheCBTZWN1cmUgQ2VydGlmaWNhdGUgQXV0aG9yaXR5MQ0wCwYDVQQDEwRDUkwxMBoG
A1UdEAQTMBGBDzIwMTgwODIyMTY0MTUxWjALBgNVHQ8EBAMCAQYwHwYDVR0jBBgwFoAUSOZo+SvS
spXXR9gjIBBPM5iQn9QwHQYDVR0OBBYEFEjmaPkr0rKV10fYIyAQTzOYkJ/UMAwGA1UdEwQFMAMB
Af8wGgYJKoZIhvZ9B0EABA0wCxsFVjMuMGMDAgbAMA0GCSqGSIb3DQEBBQUAA4GBAFjOKer89961
zgK5F7WF0bnj4JXMJTENAKaSbn+2kmOeUJXRmm/kEd5jhW6Y7qj/WsjTVbJmcVfewCHrPSqnI0kB
BIZCe/zuf6IWUrVnZ9NA2zsmWLIodz2uFHdh1voqZiegDfqnc1zqcPGUIWVEX/r87yloqaKHee95
70+sB3c4
-----END CERTIFICATE-----

Creamos  un archivo llamado Thawte_Premium_Server_CA.pem en el  /etc/postfix/ que contenga lo siguiente:

-----BEGIN CERTIFICATE-----
MIIDJzCCApCgAwIBAgIBATANBgkqhkiG9w0BAQQFADCBzjELMAkGA1UEBhMCWkExFTATBgNVBAgT
DFdlc3Rlcm4gQ2FwZTESMBAGA1UEBxMJQ2FwZSBUb3duMR0wGwYDVQQKExRUaGF3dGUgQ29uc3Vs
dGluZyBjYzEoMCYGA1UECxMfQ2VydGlmaWNhdGlvbiBTZXJ2aWNlcyBEaXZpc2lvbjEhMB8GA1UE
AxMYVGhhd3RlIFByZW1pdW0gU2VydmVyIENBMSgwJgYJKoZIhvcNAQkBFhlwcmVtaXVtLXNlcnZl
ckB0aGF3dGUuY29tMB4XDTk2MDgwMTAwMDAwMFoXDTIwMTIzMTIzNTk1OVowgc4xCzAJBgNVBAYT
AlpBMRUwEwYDVQQIEwxXZXN0ZXJuIENhcGUxEjAQBgNVBAcTCUNhcGUgVG93bjEdMBsGA1UEChMU
VGhhd3RlIENvbnN1bHRpbmcgY2MxKDAmBgNVBAsTH0NlcnRpZmljYXRpb24gU2VydmljZXMgRGl2
aXNpb24xITAfBgNVBAMTGFRoYXd0ZSBQcmVtaXVtIFNlcnZlciBDQTEoMCYGCSqGSIb3DQEJARYZ
cHJlbWl1bS1zZXJ2ZXJAdGhhd3RlLmNvbTCBnzANBgkqhkiG9w0BAQEFAAOBjQAwgYkCgYEA0jY2
aovXwlue2oFBYo847kkEVdbQ7xwblRZH7xhINTpS9CtqBo87L+pW46+GjZ4X9560ZXUCTe/LCaIh
Udib0GfQug2SBhRz1JPLlyoAnFxODLz6FVL88kRu2hFKbgifLy3j+ao6hnO2RlNYyIkFvYMRuHM/
qgeN9EJN50CdHDcCAwEAAaMTMBEwDwYDVR0TAQH/BAUwAwEB/zANBgkqhkiG9w0BAQQFAAOBgQAm
SCwWwlj66BZ0DKqqX1Q/8tfJeGBeXm43YyJ3Nn6yF8Q0ufUIhfzJATj/Tb7yFkJD57taRvvBxhEf
8UqwKEbJw8RCfbz6q1lu1bdRiBHjpIUZa4JMpAwSremkrj/xw0llmozFyD4lt5SZu5IycQfwhl7t
UCemDaYj+bvLpgcUQg==
-----END CERTIFICATE-----

11) Agregamos los certificados a nuestro certificado root
cat /etc/postfix/Equifax_Secure_CA.pem >> /etc/postfix/cacert.pem
echo >> /etc/postfix/cacert.pem
cat /etc/postfix/Thawte_Premium_Server_CA.pem >> /etc/postfix/cacert.pem

12) Reiniciamos el postfix
 /etc/init.d/postfix reload

13) Probamos el envió desde la terminal:
echo "contenido a ser enviado en el correo" | mail -s "asunto del correo"  tucuenta@email.com

No hay comentarios:

Publicar un comentario