E-MAIL VIA VB 6.0

ARCADYUM 25/04/2011 19:37:06
#372397
Pessoal,
Pesquisei, testei e não consegui enviar um e-mail pelo VB 6.0. Então estou recorrendo a vocês para que possam me ajudar com essa questão.
Alguns exemplos que utilizei geralmente retornava que o tempo expirou, ou seja, tentava acesar e não conseguia. Outros simplesmente não enviava.
Então estou em busca de idéias, soluções, exemplos, códigos qualquer coisa que possa enviar um email pelo VB (sem Outlook).
Aguardo notícias.
ADRIANOM 25/04/2011 19:55:34
#372398
Resposta escolhida
Ok.. entendi...

Então vamos lá

Primeiramente vá em MENU PROJECT > REFERENCES
E vai adicionar a referência : Microsoft CDO for Windows 2000 Library

Private Sub EMail()

Dim DE, PARA, ASSUNTO, MENSAGEM, SMTP, USERSMTP, SENHASMTP As String

DE = [Ô]<digite_seu@email.com.br>[Ô] [ô]entre aspas e as < >
PARA = [Ô]<digite_o@email.com.br>[Ô] [ô]entre aspas e as < >
ASSUNTO = [Ô]Digite o assunto do seu e-mail[Ô]
SMTP = [Ô]smtp.seuservidor.com.br[Ô]
USERSMTP = [Ô]SeuUsuarioDoLogin[Ô] [ô]Digite aqui o usuário para realizar login a sua conta de e-mail
SENHASMTP = [Ô]123456[Ô] [ô]Digite sua senha do usuário para realizar seu login
MENSAGEM = [Ô]Ae aqui você coloca sua mensagem do jeito que você desejar... pena que não tem como colocar uma imagem![Ô]

Dim Msg As CDO.Message
Dim Cof As CDO.Configuration
Dim Camp

Set Msg = New CDO.Message
Set Cof = New CDO.Configuration
Set Camp = Cof.Fields


With Camp

.Item(cdoSendUsingMethod) = 2 [ô] cdoSendUsingPort
.Item(cdoSMTPServer) = SMTP
.Item(cdoSMTPConnectionTimeout) = 20 [ô] quick timeout
.Item(cdoSMTPAuthenticate) = 1
.Item(cdoSendUserName) = USERSMTP
.Item(cdoSendPassword) = LCase(SENHASMTP)
.Update

End With

With Msg

Set .Configuration = Cof

.To = PARA
.From = DE
.Subject = ASSUNTO
.TextBody = MENSAGEM
.send

End With


End Sub


Prontinho..
ae é só estar conectado na net... funciona direitinho.. é este exemplo que uso em meus programas...

Ah! Lembrando que você pode (e deve) adaptar as strings por text[ô]s que você quiser... e o campo de mensagem pode serm um multiline.

Ok?
Qualquer coisa estarei à disposição!

Caso tenha lhe ajudado... adorarei ser pontuado....
FFCOUTO 25/04/2011 19:57:30
#372399
procure pora uma dll chamada vbSendMail é a melhor que eu já vi. Eu uso e recomendo.
ARCADYUM 25/04/2011 21:47:22
#372404
Eu testei a VBSendMail e acontecia o erro que comentei.
Vou tentar com a CDO e retorno.
TOMPRATA 25/04/2011 23:08:59
#372415
Eu uso a VBsendMail e só não consigo enviar com o smtp do Gmail. Se vc for usar seu próprio smtp tenho certeza que funciona.
ARCADYUM 25/04/2011 23:38:36
#372417
Tento com o do yahoo.com.br e também dá erro
ARCADYUM 26/04/2011 00:10:36
#372420
Terminei com o projeto e está dando o seguinte erro:
[Ô]Falha na conexão do transporte com o servidor[Ô]
Alguém sabe me informar o porque?
segue o codigo:

Dim NOVA_MENSAGEM As CDO.Message
Dim CONFIG As CDO.Configuration
Dim CAMPO

Set NOVA_MENSAGEM = New CDO.Message
Set CONFIG = New CDO.Configuration
[ô]Set CAMPO = CONFIG.Fields

[ô]Set NOVA_MENSAGEM = Server.CreateObject([Ô]CDO.Message[Ô])
[ô]Set CONFIG = Server.CreateObject([Ô]CDO.Configuration[Ô])

CONFIG.Fields([Ô]http://schemas.microsoft.com/cdo/configuration/smtpserver[Ô]) = TXT_SERVIDOR.Text
CONFIG.Fields([Ô]http://schemas.microsoft.com/cdo/configuration/smtpserverport[Ô]) = 25
CONFIG.Fields([Ô]http://schemas.microsoft.com/cdo/configuration/sendusing[Ô]) = 2
CONFIG.Fields([Ô]http://schemas.microsoft.com/cdo/configuration/smtpconnectiontimeout[Ô]) = 30
CONFIG.Fields.Update

Set NOVA_MENSAGEM.Configuration = CONFIG

NOVA_MENSAGEM.From = TXT_EMAIL_REMETENTE.Text
NOVA_MENSAGEM.To = TXT_EMAIL_DESTINATARIO.Text
NOVA_MENSAGEM.Subject = TXT_ASSUNTO.Text

[ô]objCDOSYSMail.TextBody = [Ô]Mensagem[Ô]
NOVA_MENSAGEM.TextBody = TXT_MENSAGEM.Text

NOVA_MENSAGEM.Send

Set NOVA_MENSAGEM = Nothing
Set CONFIG = Nothing
Aguardo notícias.
ARCADYUM 26/04/2011 08:52:07
#372435
Eu estou querendo enviar e-mail pelo meu sistema. Quero escolher um destinatário e enviar o email.
MARCONDES 26/04/2011 09:14:15
#372442
A melhor opção e mais simples é usando PySendMail , procure no google que é fácil de encontrar.
Página 1 de 4 [39 registro(s)]
Tópico encerrado , respostas não são mais permitidas