Notifications
Clear all

CDO VBA email Excel

13 Posts
2 Usuários
0 Reactions
4,682 Visualizações
(@wilmarleal)
Posts: 186
Estimable Member
Topic starter
 

Alguem já teve problema na saida de email smtp pelo CDO VBA no Excel ?
pois estou com problema aqui na empresa NÃO É O SCRIPT, porque digo isso?, testei la em casa e sai direto
mais na empresa não, será firewall ? sera proxy ? sera o que ?

abraço, se alguem passou por isso por favor me responda, pois nao sei o que fazer de teste para verificar o que é

Sub CDO_Mail_Small_Text_2()
    Dim iMsg As Object
    Dim iConf As Object
    Dim strbody As String
    Dim Flds As Variant
     
    Set iMsg = CreateObject("CDO.Message")
    Set iConf = CreateObject("CDO.Configuration")
     
    iConf.Load -1 ' CDO Source Defaults
    Set Flds = iConf.Fields
    With Flds
    
       .Item("http://schemas.microsoft.com/cdo/configuration/smtpusessl") = 1
       .Item("http://schemas.microsoft.com/cdo/configuration/smtpconnectiontimeout") = 60
       .Item("http://schemas.microsoft.com/cdo/configuration/smtpauthenticate") = 1
       .Item("http://schemas.microsoft.com/cdo/configuration/sendusername") = "SEU_EMAIL_GMAIL@gmail.com"
       .Item("http://schemas.microsoft.com/cdo/configuration/sendpassword") = "SUA_SENHA_GMAIL"
       .Item("http://schemas.microsoft.com/cdo/configuration/smtpserver") = "smtp.gmail.com"
       .Item("http://schemas.microsoft.com/cdo/configuration/sendusing") = 2
       .Item("http://schemas.microsoft.com/cdo/configuration/smtpserverport") = 465
      
       .Update
      
                
    End With
    
    strbody = "Hi there" & vbNewLine & vbNewLine & _
    "This is line 1" & vbNewLine & _
    "This is line 2" & vbNewLine & _
    "This is line 3" & vbNewLine & _
    "This is line 4"
     
    With iMsg
    Set .Configuration = iConf
    .To = "wilmar-blj@segplan.go.gov.br"
    .CC = "wilmarleal@gmail.com"
        .BCC = "wilmarjr@hotmail.com"
        ' Note: The reply address is not working if you use this Gmail example
         ' It will use your Gmail address automatic. But you can add this line
         ' to change the reply address  .ReplyTo = "Reply@something.nl"
        .From = """Wilmar"" <wilmarleal@gmail.com>"
        .Subject = "Important message"
        .TextBody = strbody
        .Send
    End With
     
End Sub

 
Postado : 01/11/2012 6:36 am
(@wagner-morel-vidal-nobre)
Posts: 4063
Famed Member
 

Wilmar,

Creio que deva ser algum filtro realizado pela empresa, ou mesmo proxy e firewall, pois aqui no meu trabalho também não funciona dessa forma.

Aqui, na empresa que eu trabalho, o software utilizado para remessa de e-mail é o Outlook 2007 com o servidor Microsoft Exchange encarregado de fazer as entregas/recebimentos.

Utilizo código, com CDO, para envio de E-mail automático normalmente, aqui de dentro da empresa.

 
Postado : 01/11/2012 7:38 am
(@wilmarleal)
Posts: 186
Estimable Member
Topic starter
 

Wagner Morel, tranquilo ?
bom liguei na TI/Infraestrutura da empresa e eles me disseram que com o gmail nao vai mesmo pois é bloqueado, pelo brower vai pois sai por html, mais pela porta não vai, logo não tem como e eles não vão desbloquear, sera que voce não teria ai um script para envio cdo via qualquer outro webmail aqui usa o zimbra como front-end, não sei qual o back end, to lascado tinha ficado perfeito o esqueminha a TI/Infra quebrou minhas pernas, alguem tem algum script que nao seja com hotmail ou gmail, mais um particular ?

abraço valw

 
Postado : 01/11/2012 8:06 am
(@wagner-morel-vidal-nobre)
Posts: 4063
Famed Member
 

Wilmar,

O que tenho aqui e que funciona perfeitamente bem é esse:

Sub EMail()
    Dim msgf As String
    
    'Configurando os dados do E-mail
    Set objCDOSYSMail = CreateObject("CDO.Message")
    Set objCDOSYSCon = CreateObject("CDO.Configuration")
    objCDOSYSCon.Fields("http://schemas.microsoft.com/cdo/configuration/smtpserver") = "D001COR02"
    objCDOSYSCon.Fields("http://schemas.microsoft.com/cdo/configuration/sendusing") = 2
    objCDOSYSCon.Fields("http://schemas.microsoft.com/cdo/configuration/smtpserverport") = 25
    objCDOSYSCon.Fields("http://schemas.microsoft.com/cdo/configuration/sendusing") = 2
    objCDOSYSCon.Fields("http://schemas.microsoft.com/cdo/configuration/smtpconnectiontimeout") = 30
    objCDOSYSCon.Fields.Update
    Set objCDOSYSMail.Configuration = objCDOSYSCon


    'Configurando o E-mail (Remetente, destinatário, com cópia, com cópia oculta, anexos, mensagem)

    'Informando quem enviará o E-mail
    objCDOSYSMail.From = "fulano@hotmail.com"

    'Detinatários do E-mail
    objCDOSYSMail.To = "cicrano@bnb.com.br"
            
    'Destinatários do campo Cc (Com Cópia)
    objCDOSYSMail.Cc = "betrano@ibest.com.br"
    
    'Destinatários do campo cópia oculta (Campo Bcc) - Se for o caso
    objCDOSYSMail.BCC = "zilano@bnb.gov.br"
    
    'Informando o campo Assunto do E-mail
    objCDOSYSMail.Subject = "MENSAGEM IMPORTANTE"

    'Se tiver anexo a enviar junto com o E-mail, informa-se aqui
    'objCDOSYSMail.AddAttachment (anexo) 'Para anexar arquivo

    'Informando qual é a mensagem a ser enviada
    msgf = "Escrever a mensagem aqui"
        
    'Enviando a mensagem
    objCDOSYSMail.HTMLBody = msgf
    objCDOSYSMail.send
    
    MsgBox "Mensagens enviadas com Sucesso!", vbDefaultButton1, "ENVIO DE E-MAIL"

    'Limpando a memória
    Set objCDOSYSMail = Nothing
    Set objCDOSYSCon = Nothing
 
Postado : 01/11/2012 8:21 am
(@wilmarleal)
Posts: 186
Estimable Member
Topic starter
 

wagner, acho que ta faltando um pedaço não ?
cade .send ??

da uma olhada pra mim valwu

 
Postado : 01/11/2012 8:32 am
(@wilmarleal)
Posts: 186
Estimable Member
Topic starter
 

ta dando um erro, aqui, se ja viu isso ? erro em anexo

outra coisa, esse script nao pede autenticação ???
como ele passa?

abraço valeu pela força

 
Postado : 01/11/2012 8:35 am
(@wagner-morel-vidal-nobre)
Posts: 4063
Famed Member
 

Acho que esse é um problema de referência a algum objeto que precisa existior no seu projeto. No momento, nã sei exatamente qual é o objeto mas estou lhe enviando a tela de referências existentes no meu projeto. Compare com as existentes em seu projeto e acrescente as que estão faltando.

Quanto a autenticação, não sei te informar como ela é feita.

 
Postado : 01/11/2012 9:25 am
(@wilmarleal)
Posts: 186
Estimable Member
Topic starter
 

adicionei todos e mais alguns e não funcionou fica dando esse erro com+
no smtp voce colocou o que ? hotmail, gmail, ou institucional ?

abraço

 
Postado : 01/11/2012 1:15 pm
(@wagner-morel-vidal-nobre)
Posts: 4063
Famed Member
 

Wilmar,

no smtp aqui eu utilizo o institucional. "D001COR02" é o nome do meu servidor de correio, o qual funciona com o Microsoft Exchange.

 
Postado : 01/11/2012 1:18 pm
(@wilmarleal)
Posts: 186
Estimable Member
Topic starter
 

humm, então voce não coloca smtp.seuservidor.com.br, no meu caso eu colocaria o que ? o nome do servidor ? pois aqui usamos o zimbra via webmail, como eu poderia adaptar as necessidades ? tem alguma ideia

vlw

 
Postado : 01/11/2012 1:42 pm
(@wagner-morel-vidal-nobre)
Posts: 4063
Famed Member
 

Infelizmente, não tenho idéia.

Creio que você deva pergunta como é o nome do servidor de correio da sua empresa e utilizar esse nome.

 
Postado : 01/11/2012 1:46 pm
(@wilmarleal)
Posts: 186
Estimable Member
Topic starter
 

vi o nome do servidor lá, mas não funcionou aqui !

valeu pela ajuda amigo

 
Postado : 01/11/2012 2:15 pm
(@wagner-morel-vidal-nobre)
Posts: 4063
Famed Member
 

Wilmar,

Infelizmente não tenho a menor idéia. Creio que você deva procurar saber como se chama o servidor de correio da sua empresa e utilizar esse nome.

 
Postado : 01/11/2012 2:21 pm