Jump to content
Fórum Script Brasil
  • 0

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


Danleonhart

Question

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:

Edited by Danleonhart
Link to comment
Share on other sites

2 answers to this question

Recommended Posts

  • 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 to comment
Share on other 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 to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Answer this question...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.



  • Forum Statistics

    • Total Topics
      152.2k
    • Total Posts
      652.1k
×
×
  • Create New...