none
Lendo extensões de todos os arquivos em uma unica pasta VB.NET RRS feed

  • Pergunta

  • Bom dia Senhores,

    Estou com uma dificuldade e gostaria de uma ajuda, estou precisando ler todas as extensões de arquivos de uma única pasta e selecionar a extensão ".xml" e enviar por e-mail de acordo com a data de modificação. Eu já consigo enviar por e-mail porém é apenas um arquivo por vez. Poderiam me ajudar ? Segue abaixo meu código.

    Try 'abrindo uma condição Try
                Dim Smtp_Server As New SmtpClient 'Criando a variável e definindo ela como o SMTP para a conexão com o email
                Dim email As New MailMessage ' Criando a variável e definindo ela como a mensagem do email
                Smtp_Server.UseDefaultCredentials = False 'Definindo a Smtp_Server variavel sem configurações padrões
                Smtp_Server.Credentials = New Net.NetworkCredential("email", "senha") 'Definindo um Email válido para envio na variável Smtp_Server
                Smtp_Server.Port = 587 'Definindo a porta do 587
                Smtp_Server.EnableSsl = True 'Habilitando a conexão Ssl
                Smtp_Server.Host = "smtp.gmail.com" 'Definindo o Smtp do google
                email = New MailMessage() 'Fazendo a variável email abrir uma nova conexão
                email.From = New MailAddress("contatocavalodetroia@gmail.com") 'Definindo o nome do Email que irá aparecer na caixa de entrada do recebedor 
                email.To.Add(emaill.Text) 'Email para envio
                email.Subject = ("Teste") 'Título do Email
                Dim arquivo As System.IO.FileInfo = My.Computer.FileSystem.GetFileInfo("C:\Sat\Arquivo.XML") 'Definindo arquivo para fazer leitura da data e hora
                Dim diretorio As String = arquivo.DirectoryName 'pego o diretorio do arquivo
                Dim nome As String = arquivo.Name 'pego o nome do arquivo
                Dim extensao As String = arquivo.Extension 'pego a extensão do arquivo
                Dim data As String = arquivo.LastWriteTime 'pego a data e hora do arquivo
                lugararq.Text = diretorio
                nomearq.Text = nome
                extensaoarq.Text = extensao
                dataarq.Text = data
                If dataarq.Text = datainicial.Text Then 'abrindo a condição dizendo que se a data do arquivo for igual a data inicial ele irá enviar o email
                    Dim anexando As System.Net.Mail.Attachment 'Criando a variável e definindo ela como anexo
                    anexando = New System.Net.Mail.Attachment(diretorio + "\" + nome) 'Definindo arquivo que será enviado
                    email.Attachments.Add(anexando) 'preparando anexo para envio
                End If 'finalizando a condição
                email.IsBodyHtml = False 'Definindo que o corpo do Email não seja padrão
                email.Body = ("Segue em anexo as vendas referente ao último mês") 'Mensagem do e-mail
                Smtp_Server.Send(email) 'Agrupando a variável email dentro da variável Smtp_Server com a propriedade Send (enviar)
                MsgBox("Email Enviado com Sucesso") 'Mensagem para saber se o Email foi enviado
            Catch ex As Exception 'Finalizando a primeira condição do Try
                MsgBox("Email Não foi Enviado") 'Mensagem para saber se o Email não foi enviado
            End Try 'Finalizando o Try

    quinta-feira, 21 de março de 2019 15:50

Todas as Respostas

  • Olá, tenta o código...

        Dim d As DirectoryInfo = New DirectoryInfo("D:\Test")
        Dim Files As FileInfo() = d.GetFiles("*.txt")
        Dim str As String = ""
    
        For Each file As FileInfo In Files
            Dim anexando As System.Net.Mail.Attachment 'Criando a variável e definindo ela como anexo
            anexando = New System.Net.Mail.Attachment(diretorio + "\" + file.Name) 'Definindo arquivo que será enviado
            email.Attachments.Add(anexando) 'preparando anexo para envio
        Next
    
    

    Se ajudou, vote como útil! Obrigado.

    • Sugerido como Resposta João Paulo [] domingo, 24 de março de 2019 19:21
    quinta-feira, 21 de março de 2019 16:10