Notifications
Clear all

Enviar e-mail com Informações do remetente

5 Posts
2 Usuários
0 Reactions
981 Visualizações
(@felipemazz)
Posts: 0
New Member
Topic starter
 

Bom dia pessoal!
Tudo tranquilo com vocês?

Seguinte, estou configurando um programa aqui, para enviar e-mails automaticamente para uma lista de contatos. O código referente ao envio é o seguinte:

          Set mMessage = CreateObject("CDO.Message")
          With mMessage
          Set .Configuration = mConfig
              .To = email_destino
              .CC = "" 'com cópia
              .BCC = "" 'com cópia oculta
              .From = "contato@gmail.com"
              .Subject = "Mensagem automática"
              .TextBody = mensagem
              'Para adicionar um anexo, um arquivo, pasta, imagem, etc.
              '.AddAttachment 'Caminho e nome completo do  arquivo a ser anexado.
              .Send
          End With

O problema é o seguinte, Coloquei o remetente como [email protected] (para exemplificar, o e-mail claro que é outro), porém quando recebo o e-mail, o nome do remetente aparece só com a palavra "contato". Isto fica "Feio" entendem?
Pois, quando eu envio um e-mail diretamente do GMAIL, aparece assim:

"Contato | Nome da empresa" (já que configurei para aparecer desta maneira no Gmail).

Alguém pod eme salvar, e dizer se temc omo alterar este "Nome do remetente"?

Caso eu não tenha me expressado bem, postarei uma PrintScreen aqui para exemplificar o que eu queria.

 
Postado : 30/03/2017 8:16 am
(@wagner-morel-vidal-nobre)
Posts: 4063
Famed Member
 

felipemazz,

Bom dia!

Quando você utiliza o objeto CDO, realmente é assim mesmo a configuração do campo remetente do email. Não sei dizer se é possível configurar isso de forma diferente.

Para esses casos, eu utilizo o envio pelo Outlook que não permite configurar o remetente e envia com o nome de quem está logado na máquina e disparando a macro. Veja código abaixo.

Sub EmailOutlook()
    '======================================
    ' Preparando o E-mail para ser enviado
    '======================================
    
    Dim Correio As Object, EMail As Object
    Dim Pasta As String
    Dim Arquivo As String
    Dim i As Long
    Dim UltimaLinha As Long
    
    UltimaLinha = Sheets("Envios").Cells(Cells.Rows.Count, 2).End(xlUp).Row
    If UltimaLinha < 3 Then UltimaLinha = 3
    
    
    'Laço para pegar cada um dos destinatários da coluna B, começando na linha 3
    For i = 3 To UltimaLinha
    
         Set Correio = CreateObject("Outlook.Application")
         Set EMail = Correio.CreateItem(0)
         
         'Campo Assunto
         EMail.Subject = "Bonus Generator"
            
         'A Mensagem que seguirá no corpo do e-mail
         EMail.Body = "Estamos remetendo, amexo, os arquivos em PDF modelo modelo modelo."
         
         'Para quem vai a mensagem...
         EMail.To = Range("B" & i).Value
         
         'Se for enviar com cópia
         'EMail.Cc = "dantas.mariana@emrpesa.com"
         
         'Arquivos a serem anexados
         EMail.Attachments.Add Range("H1").Value & "" & Range("J" & i).Value
             
         
         'Para pré visualizar a mensagem usar Display. Para enviar direto sem visualizar, use Send
         EMail.Send
         
        Set Correio = Nothing
        Set EMail = Nothing
    Next
    
End Sub
 
Postado : 30/03/2017 8:27 am
(@felipemazz)
Posts: 0
New Member
Topic starter
 

felipemazz,

Bom dia!

Quando você utiliza o objeto CDO, realmente é assim mesmo a configuração do campo remetente do email. Não sei dizer se é possível configurar isso de forma diferente.

Para esses casos, eu utilizo o envio pelo Outlook que não permite configurar o remetente e envia com o nome de quem está logado na máquina e disparando a macro. Veja código abaixo.

Sub EmailOutlook()
    '======================================
    ' Preparando o E-mail para ser enviado
    '======================================
    
    Dim Correio As Object, EMail As Object
    Dim Pasta As String
    Dim Arquivo As String
    Dim i As Long
    Dim UltimaLinha As Long
    
    UltimaLinha = Sheets("Envios").Cells(Cells.Rows.Count, 2).End(xlUp).Row
    If UltimaLinha < 3 Then UltimaLinha = 3
    
    
    'Laço para pegar cada um dos destinatários da coluna B, começando na linha 3
    For i = 3 To UltimaLinha
    
         Set Correio = CreateObject("Outlook.Application")
         Set EMail = Correio.CreateItem(0)
         
         'Campo Assunto
         EMail.Subject = "Bonus Generator"
            
         'A Mensagem que seguirá no corpo do e-mail
         EMail.Body = "Estamos remetendo, amexo, os arquivos em PDF modelo modelo modelo."
         
         'Para quem vai a mensagem...
         EMail.To = Range("B" & i).Value
         
         'Se for enviar com cópia
         'EMail.Cc = "dantas.mariana@emrpesa.com"
         
         'Arquivos a serem anexados
         EMail.Attachments.Add Range("H1").Value & "" & Range("J" & i).Value
             
         
         'Para pré visualizar a mensagem usar Display. Para enviar direto sem visualizar, use Send
         EMail.Send
         
        Set Correio = Nothing
        Set EMail = Nothing
    Next
    
End Sub

Entendi Wag. Aí entra um segundo problema: No gmail, tem cadastrado 7 e-mails do escritório como remetente... Portanto eu posso escolher se enviar pelo Gmail diretamente pelo CDO...

Mas obrigado pelo código, caso eu não consiga fazer isso pelo GMAIL diretamente, vou fixar para enviar pelo Contato somente, é o ideal.

Grande abraço.

 
Postado : 30/03/2017 9:01 am
(@felipemazz)
Posts: 0
New Member
Topic starter
 

Wag, sempre que vou enviar um e-mail, aparece esta mensagem.
Existe alguma maneira de evitar ela?
Abraços!

 
Postado : 03/04/2017 2:06 pm
(@felipemazz)
Posts: 0
New Member
Topic starter
 

Wag, sempre que vou enviar um e-mail, aparece esta mensagem.
Existe alguma maneira de evitar ela?
Abraços!

Já descobri!
hahahah
fucei nas opções do Outlook, deu certo!

Abraços, e muito obrigado a todos que me ajudaram!

 
Postado : 03/04/2017 2:25 pm