sábado, 12 de junho de 2010

Genexus Mail!

Esse é um dos tópicos bem divulgados na comunidade, mas boas características devem sempre ser exaltadas.  E uma delas é a capacidade de Genexus implementar a programação com mínimos recursos.

Um bom exemplo disso é o envio de email por meio do tipo SendMail.

Para testar esse recurso, você não precisa muita coisa, a não ser seguir os passos do código fonte abaixo:
Lembrando que as variáveis de configuração apenas definem os dados necessários para o servidor SMTP, que podemos simplificar da seguinte forma:

Host: smtp.servidor.com.....
User: user@servidor.com....
Password: *****
SenderEmail: user@servidor.com...
SenderName: Email de Teste

Com as variáveis definidas como:

Simples e fácil, boa sorte.

9 comentários:

bmacedo disse...

Olá prof. Douglas.

Muito bom o seu blog. Não o conhecia antes, descobri por acaso.

Os temas abordados são de suma importância para os analistas GX.

Os texto são bons, claros, objetivos e fáceis de serem assimilados.

Abraço,
Bruno Macedo

Douglas Hamilton de Oliveira disse...

valeu Bruno!

Douglas Hamilton de Oliveira disse...

Problemas com envio em Windows 7 64 bits?
Para .NET a Artech já deu uma solucaozinha:
1) http://www2.gxtechnical.com/portal/hgxpp001.aspx?15,4,61,O,S,0,,28830
2) https://support.google.com/mail/bin/answer.py?hl=en&answer=13287

Anônimo disse...

Boa tarde. Teria como pedir confirmação do e-mail enviado? Marinei

Douglas Oliveira disse...

Sim, mas vocë precisaria implementar um processo com POP, ou seja, programar um leitor de emails na sua aplicação. Veja o tipo POPSession (recebe emails) e SMTPSession (Envia).

Diego Campanha disse...

Douglas boa tarde ...
estou com um problema no envio de anexo via &MailMessage.Attachments.Add(&pdf)
ele faz todo o processo autentifica no servidor mais quando chega no
&MensSMTP.Send(&Envio)
ele trava a aplicacao e fica pensando tenho que fechar com ctrl+alt+del ja passou por isso ?
uso genexus X win .net

Obrigado

Douglas Oliveira disse...

Caro Diego,
Escrevi um artigo sobre o envio de emails com anexo (http://www.genexando.com/2013/10/anexando.html), mas pelo que você me diz acho que o problema tem a ver com o caminho para o arquivo ou mesmo a versão do Gx que esta usando.

Antônio disse...

Boa tarde, Douglas.

Vê se você pode me ajudar.

Eu guardo os emails num vetor. Ou seja, para cada posição do vetor tenho um único email.
Basicamente o código é este:

&MailMessage.To.Clear()
do while &Sto(&i) <> ''
&MailRecipient.Address = &Sto(&i)
&MailRecipient.Name = &Sto(&i)
&MailMessage.To.Add(&DirTo)
&i += 1
enddo

Quando o vetor possui mais de uma posição preenchida ocorre o seguinte erro:

"554 Transaction failed: Illegal semicolon, not in group"

Douglas Oliveira disse...

Caro Antonio,
Gostei do seu código, a ideia é bem interessante, reproduzi aqui e não ocorreu o referido erro, mas observei duas coisas:

1) antes do do while &sto(&i), faltou definir &i=1
2) em &MailMessage.To.Add(&DirTo), creio que o correto seja &MailMessage.To.Add(&MailRecipient)

Tirando isso, acho que funciona.
Parabéns.