[AsteriskBrasil] Voice não envia e-mail...

Fernando Garrido Vaz listbot.br em gmail.com
Terça Novembro 22 06:57:50 BRT 2005


Josué,


Então vamos lá:

Essa é a macro que recebe o fax:

[macro-faxreceive]
exten => s,1,StopPlaytones
exten => s,2,SetVar(FAXFILE=/var/spool/asterisk-fax/${UNIQUEID}.tif)
exten => s,3,DBGet(EMAILADDR=extensionemail/${ARG1})
exten => s,4,rxfax(${FAXFILE})
exten => s,5,system(/usr/local/sbin/mailfax ${FAXFILE} ${EMAILADDR} 
"${CALLERIDNUM} ${CALLERIDNAME}")
exten => s,105,SetVar(EMAILADDR=default em provedor.com.br)
exten => s,106,GoTo(5)
exten => h,1,system(/usr/local/sbin/mailfax ${FAXFILE} ${EMAILADDR} 
"${CALLERIDNUM} ${CALLERIDNAME}")

E esse é o programinha que converte o ps em pdf, monta o email e manda (tem q 
ter o ghostscript instalado, pra ter o aplicativo tiff2pdf:

#!/usr/bin/env python

import os, sys, mimetypes, smtplib

from email.MIMEText import MIMEText
from email.MIMEMultipart import MIMEMultipart
from email.MIMEBase import MIMEBase
from email import Utils, Encoders

param = sys.argv[1:]

faxfile=param[0][:-3]+'pdf'

cmd='tiff2pdf -o %s %s' % (faxfile, param[0])
os.system(cmd)

msg = MIMEMultipart()
msg['To'] = param[1]
msg['From'] = r'emaildoasterisk em seuprovedor.com.br'
msg['Subject'] = "Chegou um novo fax."
msg['Date'] = Utils.formatdate(localtime='-3')
msg['Message-ID'] = Utils.make_msgid()

message = """Você recebeu um fax. Veja o arquivo em anexo."""

body = MIMEText(message, _subtype='plain')

fd = open(faxfile, 'rb')
attachment = MIMEBase('application', 'pdf')
attachment.set_payload(fd.read())
Encoders.encode_base64(attachment)
attachment.add_header('Content-Disposition', 'attachment', filename=faxfile)
fd.close()

msg.attach(body)
msg.attach(attachment)


smtp = smtplib.SMTP('smtp.seuprovedor.com.br')
smtp.login('seulogin', 'suasenha')
smtp.sendmail('seulogin em seuprovedor.com.br', param[1], msg.as_string())
smtp.quit()



Acho que mesmo q vc não entenda o código todo dá pra sacar onde tem q mudar 
pra mandar o arquivo do voicemail, é só tirar fora a parte de conversão pra 
pdf, e ao chamar o programa passar como primeiro argumento o nome do arquivo.  
Além disso, ajuste o MIMEType pro formato correto, não vai mais ser pdf...
Agora quanto ao recebimento de fax propriamente dito os resultados foram 
mistos...  No nosso ambiente, os faxes dentro da LAN funcionaram 
perfeitamente.  Quando passamos a receber de fora, deixou de funcionar.  
Todos os nossos números entrantes são SIP direto de um router, e aí nunca se 
tem garantia para fax né...  Estamos adquirindo uma plaquinha pra receber as 
linhas de fax diretamente no asterisk, assim acho que vai funcionar ok.

[]s
Fernando


On Tuesday 22 November 2005 02:47, Josué Conti wrote:
> Fernando, boa noite.
> Poxa, muito obrigado, tenho muito interesse, inclusive na parte de fax
> pelo asterisk, que é um dos pontos mais discutidos neste rico forum.
> Teria como me mandar esse código?
> Desde já agradeço a atenção
>
> Um abraço
>
> Josué
>
> Em 21/11/05, Fernando Garrido Vaz<listbot.br em gmail.com> escreveu:
> > Josué,
> >
> > Uma solução que encontrei, meio "gambiarra" mas que elimina a necessidade
> > de se ter um servidor de email próprio e que funciona bem em ambientes de
> > baixo tráfego, é usar um pequeno programa (no meu caso em python) que
> > monta a mensagem com o arquivo desejado (fiz isso pra mandar fax
> > recebidos pelo rxfax) e envia através de uma conta smtp qualquer.  Assim
> > você pode, por exemplo, criar uma conta de email no seu provedor para uso
> > exclusivo do asterisk e mandar seus emails através dessa conta.  Se tiver
> > interesse avise que eu mando o código.
> >
> > []s
> > Fernando
> >
> > On Monday 21 November 2005 19:35, Josué Conti wrote:
> > > Pessoal, não consigo fazer o Asterisk enviar e-mail e ele deu o
> > > seguinte erro: Alguem poderia me ajudar?
> > >
> > > Obrigado
> > >
> > > You have new mail in /var/mail/root
> > > linux:~ # cd /var/mail/
> > > linux:/var/mail # ls
> > > .  ..  root
> > > linux:/var/mail # vi root
> > >
> > > --A36CE10D06.1132001087/Hifinity.site
> > > Content-Description: Delivery report
> > > Content-Type: message/delivery-status
> > >
> > > Reporting-MTA: dns; asterisk.site
> > > X-Postfix-Queue-ID: A36CE10D06
> > > X-Postfix-Sender: rfc822; root em asterisk.site
> > > Arrival-Date: Mon, 14 Nov 2005 18:44:47 -0200 (BRST)
> > >
> > > Final-Recipient: rfc822; recepcao em sunweb.com.br
> > > Action: failed
> > > Status: 5.0.0
> > > Diagnostic-Code: X-Postfix; [sunweb.com.br]: Name or service not known
> > >
> > > --A36CE10D06.1132001087/asterisk.site
> > > Content-Description: Undelivered Message
> > > Content-Type: message/rfc822
> > > Content-Transfer-Encoding: 8bit
> > >
> > > Received: by asterisk.site (Postfix, from userid 0)
> > >         id A36CE10D06; Mon, 14 Nov 2005 18:44:47 -0200 (BRST)
> > > Date: Mon, 14 Nov 2005 18:44:47 -0200
> > > From: asterisk PBX <asterisk em asterisk.asterisk.site>
> > > To: Recepcao Agra <recepcao em agra.com.br>
> > > Subject: [asterisk]: Nova mensagem 1 in mailbox 0000
> > > Message-ID: <Asterisk-0-575896105-0000-14825 em asterisk>
> > > MIME-Version: 1.0
> > > Content-Type: multipart/mixed; boundary="voicemail_0000014825702984"
> > >
> > >
> > > --voicemail_0000014825702984
> > > Content-Type: text/plain; charset=ISO-8859-1
> > > Content-Transfer-Encoding: 8bit
> > > _______________________________________________
> > > LIsta de discussões AsteriskBrasil.org
> > > AsteriskBrasil em listas.asteriskbrasil.org
> > > http://listas.asteriskbrasil.org/mailman/listinfo/asteriskbrasil
> > >
> > > _______________________________________________
> > > Acesse o  wiki AsteriskBrasil.org:
> > > http://www.asteriskbrasil.org
> >
> > _______________________________________________
> > LIsta de discussões AsteriskBrasil.org
> > AsteriskBrasil em listas.asteriskbrasil.org
> > http://listas.asteriskbrasil.org/mailman/listinfo/asteriskbrasil
> >
> > _______________________________________________
> > Acesse o  wiki AsteriskBrasil.org:
> > http://www.asteriskbrasil.org


Mais detalhes sobre a lista de discussão AsteriskBrasil