Ir para conteúdo
    • João Batista Neto

      iMasters InterCon 2017   10-10-2017

      Ainda dá tempo de se inscrever no iMasters InterCon 2017, o maior evento dev do Brasil!  
Sames Davis

Enviar email Outlook qualquer versão Office

Recommended Posts

Olá pessoal,

Tenho um sistema que roda em vários micros e cada um deles com versões diferentes do office.

O meu código não está dando certo, segue

referenciei o outlook e usei o imports

Imports Microsoft.Office.Interop
    Private Sub btnEnviar_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnEnviar.Click
        Cursor.Current = Cursors.WaitCursor
        Try
            Dim tempApp As Microsoft.Office.Interop.Outlook.Application = New Microsoft.Office.Interop.Outlook.Application
            'Dim tempApp = GetObject(, "Outlook.Application")
            Dim tempNS As Outlook.NameSpace
            Dim MailFolder As Outlook.MAPIFolder
            tempNS = tempApp.GetNamespace("MAPI")
            tempNS.Logon(, , True, True)
            Dim newMail As Outlook.MailItem = Nothing
            MailFolder = tempNS.GetDefaultFolder(Outlook.OlDefaultFolders.olFolderOutbox)
            newMail = MailFolder.Items.Add(Outlook.OlItemType.olMailItem)
            With newMail
                .To = txtPara.Text
                .Subject = txtAssunto.Text
                .Body = txtMensagem.Text
                .Send()
            End With
            newMail = Nothing
            MailFolder = Nothing
            tempNS = Nothing
            tempApp = Nothing
            DialogResult = DialogResult.Yes
        Catch ex As Exception
            MsgBox(ex.ToString())
            DialogResult = DialogResult.No
        Finally
            Cursor.Current = Cursors.Default
        End Try
    End Sub

 

se eu usar essa linha

Dim tempApp As Microsoft.Office.Interop.Outlook.Application = New Microsoft.Office.Interop.Outlook.Application

ele só funciona no office2007

se eu usar essa linha, ele dá a mensagem de que não posso criar objeto activex

Dim tempApp = GetObject(, "Outlook.Application")

o que faço ?

Compartilhar este post


Link para o post
Compartilhar em outros sites

Olhá recomendo você usar as bibliotecas do .net (https://msdn.microsoft.com/pt-br/library/system.net.mail(v=vs.110).aspx) para disparar ao invés de tentar usar as do office.

Assim não terá nenhum problema de versão do office!

Compartilhar este post


Link para o post
Compartilhar em outros sites

Porque usar o outlook para realizar o envio se a aplicação já pode chamar diretamente o servidor SMTP/Exchange para enviar o e-mail?

 

SMTP:

http://www.andrealveslima.com.br/blog/index.php/2015/05/13/enviando-e-mails-com-c/

https://msdn.microsoft.com/en-us/library/swas0fwc(v=vs.110).aspx

 

Exchange:

https://msdn.microsoft.com/en-us/library/office/dn567668(v=exchg.150).aspx

Compartilhar este post


Link para o post
Compartilhar em outros sites

Crie uma conta ou entre para comentar

Você precisar ser um membro para fazer um comentário

Criar uma conta

Crie uma nova conta em nossa comunidade. É fácil!

Crie uma nova conta

Entrar

Já tem uma conta? Faça o login.

Entrar Agora


  • Próximos Eventos

  • Conteúdo Similar

    • Por IgorCoelho
      Bom dia Amigos, tudo bem?
       
      Estou com um problema no Outlook 2016 para receber e-mails, segue em anexo o print do erro.
      Alguém conseguiria me ajudar com esse erro? Tem vários dias que estou tentando corrigir mas não acho em lugar nenhum solução para ele.
      Obs: Como são documentos de trabalho eu precisaria corrigir sem precisar excluir os e-mails.


    • Por wneo
      Olá!
       
      Pessoal, estou utilizando o phpMailer para envio de email. O gmail está com uma segurança automática que evita o recebimento. Então fica necessário que o usuário modifique essa configuração para liberar o recebimento.
       
      Vocês sabem alguma forma de configurar o código pra evitar isso automaticamente?
      $mail = new PHPMailer(); $mail2 = new PHPMailer(); /* ................................ Receber solicit ................................... */ $mail->Username = "email"; // your GMail user name $mail->Password = "senha"; $mail->AddAddress("email","Tesste"); // recipients email $mail->FromName = $email; // readable name $mail->Subject = $nome; $mail->isHTML(true); $mail->Body = $receber_solicit; //----------------------------------------------------------------------- $mail->Host = "smtp.gmail.com"; // GMail $mail->Port = 587; $mail->IsSMTP(); // use SMTP $mail->SMTPAuth = true; // turn on SMTP authentication $mail->From = $mail->Username; if(!$mail->Send()) echo "Mailer Error: " . $mail->ErrorInfo; else echo "Mensagem enviada"; /* ............................... /Receber solicit ................................... */ /* ********************************************************************* */ /* ............................... Enviar resposta ................................... */ $mail2->Username = "email"; // your Gmail2 user name $mail2->Password = "senha"; $mail2->AddAddress($email); // recipients email2 $mail2->FromName = 'Empresa'; // readable name $mail2->Subject = 'Agradecemos o seu contato!'; $mail2->isHTML(true); $mail2->Body = $enviar_resposta_auto; //----------------------------------------------------------------------- $mail2->Host = "smtp.gmail.com"; // Gmail2 $mail2->Port = 587; $mail2->IsSMTP(); // use SMTP $mail2->SMTPAuth = true; // turn on SMTP authentication $mail2->From = $mail2->Username; if(!$mail2->Send()) echo "mailer Error: " . $mail2->ErrorInfo; else echo "Mensagem enviada"; /* .............................. /Enviar resposta ................................... */  
    • Por GleissonHard
      E-mail do hotmail não descarrega do Outlook.
      As pastas e contatos não são carregados.

    • Por nels933
      Tenho um problema bastante estranho. A mensagem de erro "0x80042109" aparece sempre que eu quero abrir o arquivo de formato .pst no Outlook 2007.
      O que significa esta mensagem? Existe algo que eu possa fazer-me para reparar pst arquivo?
    • Por Maykel-ctba
      Boa tarde!



      Gostaria de saber se há uma solução para o seguinte caso. Tenho um cliente hipotético que utiliza algo em torno de 30 assinaturas diferentes (uma com destaque para cada produto que comercializa). Hoje, cadastramos manualmente cada assinatura e ao enviar o e-mail, escolhemos uma delas para ser utilizada.



      Existe alguma configuração que faça esta escolha ser randômica automaticamente? Ou algum outro jeito?



      Utilizo Microsoft Outlook for Mac ou a suite Office 2016 para Windows 10.

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.

Este projeto é mantido e patrocinado pelas empresas:
Hospedado por: