Ir para conteúdo
Fórum Script Brasil
  • 0

[Resolvido] Enviar E-Mail com aplicação VB-6


Danleonhart

Pergunta

Pessoal...

Alguém já conseguiu enviar e-mails para os servidores do GMail e Hotmail com uma das bibliotecas abaixo citadas?

AspMail, CDO.SYS , PY.SendMail, VbSendMail

Só consigo enviar para o servidor do Yahoo.

Script's que testei até agora:

Com a AspMail (AspMail.dll):

Sub Enviar_Email()
On Error GoTo Final

Dim AspMail As New ASPEMAILLib.MailSender

With AspMail
          .Host = CbMail.Text
          .Port = txtPorta.Text
          .From = vUserName
          .FromName = "Adm."
          
          .Subject = txtAss.Text
          .Body = txtMens.Text
          
          .MailFrom = vUserName
          .Username = vUserName
          .Password = vPasswrd
          .AddAddress CbEnd.Text
          .Send
          
End With

   MsgBox "Envio confirmado !", vbInformation
Exit Sub

Final:
  MsgBox "Erro número : " & Err.Number & vbNewLine _
       & "Descrição do erro : " & Err.Description, vbCritical
End Sub
Com CDO.SYS (cdosys.dll)
Private Sub EnvioDeEmail()
 On Error GoTo Ver
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(cdoSMTPServerPort) = txtPorta.Text
  .Item(cdoSendUsingMethod) = cdoSendUsingPort  ' ou 2
  .Item(cdoSMTPServer) = CbMail.Text
  .Item(cdoSMTPConnectionTimeout) = 30 ' quick timeout
  .Item(cdoSMTPAuthenticate) = cdoBasic ' ou 1
  .Item(cdoSMTPUseSSL) = True
  .Item(cdoSendUserName) = vUserName
  .Item(cdoSendPassword) = vPasswrd
  .Update
  
End With

With Msg
  Set .Configuration = Cof
      .From = vUserName
      .Sender = vUserName
      .To = CbEnd.Text
      
      .Subject = txtAss.Text
      .HTMLBody = txtMens.Text
      .Send
End With

MsgBox "OK !"

Exit Sub

Ver:
 MsgBox "Erro Número : " & Err.Number & vbNewLine _
      & "Descrição do erro : " & Err.Description
End Sub
Com PY.SendMail :
Sub Enviar_Mail()

Set pySM = CreateObject("Py.SendMail")
    
 With pySM
    .SMTPServer = CbMail.Text
    .Port = txtPorta.Text
    .Recipient = CbEnd.Text
    .To = CbEnd.Text
    
    .From = vUserName
    .Sender = vUserName
    
    .Subject = txtAss.Text
    .Body = txtMens.Text
    .PureText = False      ' Se é texto ou HTML (True = Texto, False = HTML)
    
    .User = vUserName
    .Password = vPasswrd
       
    retorno = .Send()
    LbRetorno = "Retorno: " & retorno
    
   End With
End Sub
Com VbSendMail (VbSendMail.dll) :
Sub Go_Email()
On Error GoTo Final
Dim sM As New vbSendMail.clsSendMail

With sM
       .SMTPHost = CbMail.Text
       .SMTPPort = txtPorta.Text
       .From = vUserName
       .Username = vUserName
       .Password = vPasswrd
       .FromDisplayName = vUserName
       
       .Recipient = CbEnd.Text
       .RecipientDisplayName = CbEnd.Text
       
       .UseAuthentication = True
       .ConnectTimeout = 30
       
       .PersistentSettings = True
       .IsValidEmailAddress CbEnd.Text
       
       .Subject = txtAss.Text
       .Message = txtMens.Text
       .Send
End With

 MsgBox "Envio confirmado !", vbInformation

Exit Sub

Final:
  MsgBox "Erro número : " & Err.Number & vbNewLine _
       & "Descrição do erro : " & Err.Description, vbCritical
End Sub

Com todas consigo enviar para o servidor Yahoo...mas com nenhuma consegui para GMail e Hotmail...

:mellow:

Editado por Danleonhart
Link para o comentário
Compartilhar em outros sites

2 respostass a esta questão

Posts Recomendados

  • 0

danleon, o erro é na hora de enviar email para um endereco do gmail, ou pra mandar um email usando um endereco do gmail??

veja o exemplo q encontrei usando o gmail: http://www.a1vbcode.com/snippet-3691.asp

parece q ele esta setando o numero da porta, o q você não esta fazendo, pode ser isso.

vai buscando no google, procurando por "cdo gmail" ou "cdo hotmail" por exemplo, q devem falar sobre o assunto.

Link para o comentário
Compartilhar em outros sites

  • 0

Consegui...

O erro que estava cometendo era de configurar no "SMTPServer" o servidor do e-mail do destinatário, e enviar com usuário e senha de outro servidor 353.gif...

então corrigi...top.gif

Optei pelo CDO.sys, mas em todas as outras funcionaram...

O script ficou assim:

Private Sub EnvioDeEmail()
 On Error GoTo Ver
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(cdoSMTPServerPort) = txtPorta.Text
  .Item(cdoSendUsingMethod) = cdoSendUsingPort  ' ou 2
  .Item(cdoSMTPServer) = CbMail.Text
  .Item(cdoSMTPConnectionTimeout) = 15 ' quick timeout
  .Item(cdoSMTPAuthenticate) = cdoBasic ' ou 1
  .Item(cdoSMTPUseSSL) = True
  .Item(cdoSendUserName) = vUserName
  .Item(cdoSendPassword) = vPasswrd
  .Update
  
End With

With Msg
  Set .Configuration = Cof
      .From = vUserName
      .Sender = vUserName
      .To = CbEnd.Text
      
      .Subject = txtAss.Text
      .HTMLBody = txtMens.Text
      .Send
End With

MsgBox "OK !"

Exit Sub

Ver:
 MsgBox "Erro Número : " & Err.Number & vbNewLine _
      & "Descrição do erro : " & Err.Description
End Sub

Detalhe :

No Hotmail as mensagens chegam no Lixo...só depois do usuário informar que é confiável é que passa a chegar na Caixa de Entrada. Legal.gif

Link para o comentário
Compartilhar em outros sites

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,1k
    • Posts
      651,8k
×
×
  • Criar Novo...