MaximoAccess

Caro Usuário, antes de postar pela primeira vez, leia as regras do fórum.

https://www.maximoaccess.com/t48-regras-do-forum

Obrigado

Administração


Participe do fórum, é rápido e fácil

MaximoAccess

Caro Usuário, antes de postar pela primeira vez, leia as regras do fórum.

https://www.maximoaccess.com/t48-regras-do-forum

Obrigado

Administração

MaximoAccess

Gostaria de reagir a esta mensagem? Crie uma conta em poucos cliques ou inicie sessão para continuar.

Dicas Ms Access, Exemplos Ms Access, Codigos VBA Ms Access, SQL Ms Access


2 participantes

    [Resolvido]Email via CDO e Outlook Express - Gravacao e Anexos

    avatar
    vileman
    Super Avançado
    Super Avançado


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 580
    Registrado : 25/05/2011

    [Resolvido]Email via CDO e Outlook Express - Gravacao e Anexos Empty [Resolvido]Email via CDO e Outlook Express - Gravacao e Anexos

    Mensagem  vileman 22/7/2011, 21:40

    Boa tarde a todos. Uso Windows XP e Access 2003. Fiz as devidas pesquisas neste site e encontrei alguns tópicos que tratavam do que busco, no entanto, não consegui resolver após tentativas e testes, então resolvi pedir ajuda aos "universitários", ou seja, usei o código abaixo, marcando a devida referência em Microsoft CDO for Windows 2000 Library:

    Function EnviarEmail()
    On Error GoTo erromail
    Dim Mens As CDO.Message
    Dim Config As CDO.Configuration

    Set Config = New CDO.Configuration

    With Config

    .Fields("http://schemas.microsoft.com/cdo/configuration/smtpserver") = "smtp.suaconta.com.br" 'seu servidor de e-mail
    .Fields("http://schemas.microsoft.com/cdo/configuration/smtpserverport") = 25 ' porta usada pelo seu servidor de e-mail
    .Fields("http://schemas.microsoft.com/cdo/configuration/sendusing") = 2
    .Fields("http://schemas.microsoft.com/cdo/configuration/smtpauthenticate") = 1
    .Fields("http://schemas.microsoft.com/cdo/configuration/sendusername") = "o nome do usuario para logon no servidor" 'user do servidor
    .Fields("http://schemas.microsoft.com/cdo/configuration/sendpassword") = "senha do servidor" 'coloque a senha do seu email
    .Fields("http://schemas.microsoft.com/cdo/configuration/smtpconnectiontimeout") = 60

    .Fields.Update

    End With

    Set Mens = New CDO.Message

    With Mens

    Set .Configuration = Config
    .From = "Nome de quem envia" 'quem envia

    If Not IsNull(Me.txtDeMail) Then
    .Sender = Me.txtDeMail 'email de quem envia.
    End If

    If Not IsNull(Me.txtCOculta) Then
    .BCC = Me.txtCOculta
    End If

    .Subject = Me.txtAssunto 'caixa texto assunto
    .TextBody = Me.txtMensagem 'Caixa texto com o texto"

    If Not IsNull(Me.txtPara) Then
    .To = Me.txtPara 'caixa texto para quem vai o email"
    End If

    If Not IsNull(Me.txtAnexo) Then
    .AddAttachment (Me.txtAnexo)
    End If

    .Send ' envia

    End With

    MsgBox "Menssagem enviada com sucesso"

    Set Mens = Nothing
    Set Config = Nothing
    Exit Function

    erromail:
    MsgBox Err.Number & " " & Err.Description
    Set Mens = Nothing
    Set Config = Nothing
    Exit Function

    End Function

    Após testar apareceu a mensagem de erro: [b]-2147220973 Falha na conexão do transporte com o servidor.[/b]

    O que preciso é:
    1) Gravar os campos do Email em 1 Tabela (Seja CDO ou Outlook Express)
    2) Destinatários: Email para mais 2 Destinatarios além do Destinatario principal
    3) Anexos: 1 arquivo ou "n" arquivos, ou pelo menos 4 arquivos anexados, gravando o caminho do(s) mesmo(s) na Tabela

    Com relação ao código acima, gostaria de entender as linhas:
    .Fields("http://schemas.microsoft.com/cdo/configuration/smtpserver") = "smtp.suaconta.com.br" 'seu servidor de e-mail.
    .Fields("http://schemas.microsoft.com/cdo/configuration/sendusername") = "o nome do usuario para logon no servidor" 'user do servidor
    .Fields("http://schemas.microsoft.com/cdo/configuration/sendpassword") = "senha do servidor" 'coloque a senha do seu email

    Estou utilizando atualmente o Outlook Express como servidor de e-mail, com as seguintes configurações: POP3: imap.mp.pe.gov.br + SMTP: smtp.mp.pe.gov.br + e-mail: ouvidor@mp.pe.gov.br + senha: mporelha; então tenho que fazer as devidas adaptações nas linhas acima, tanto em CDO como Outlook Express, como ficaria ?

    Minha intenção é dar aos usuários do sistema a opção do Outlook Express para os que usam e também do Servidor CDO para quem não usa o Outlook, no entanto, irei priorizar o envio via CDO, depois faria o Outlook.
    Caso alguém possa ajudar pode enviar um BD como exemplo para meu e-mail (manvil@ig.com.br), e vou tentando fazer aos poucos. Agradeço a atenção de todos.
    avatar
    Convidado
    Convidado


    [Resolvido]Email via CDO e Outlook Express - Gravacao e Anexos Empty Re: [Resolvido]Email via CDO e Outlook Express - Gravacao e Anexos

    Mensagem  Convidado 22/7/2011, 23:11

    Vamos la...

    primeiro

    .Fields("http://schemas.microsoft.com/cdo/configuration/smtpserver") = ouvidor@mp.pe.gov.br"
    .Fields("http://schemas.microsoft.com/cdo/configuration/smtpserverport") = 25 ' Verifique no seu provedor
    .Fields("http://schemas.microsoft.com/cdo/configuration/sendusing") = 2
    .Fields("http://schemas.microsoft.com/cdo/configuration/smtpauthenticate") = 1
    .Fields("http://schemas.microsoft.com/cdo/configuration/sendusername") = "Seu Nome de Usuario"
    .Fields("http://schemas.microsoft.com/cdo/configuration/sendpassword") = "mporelha"
    .Fields("http://schemas.microsoft.com/cdo/configuration/smtpconnectiontimeout") = 60

    *** Demais configurações entre em contato com o seu servidor para ajustes

    1) Gravar os campos do Email em 1 Tabela (Seja CDO ou Outlook Express)
    no local onde aplica os mesmo no código, chame o campo do form, = Me.Campo

    2) Destinatários: Email para mais 2 Destinatarios além do Destinatario principal
    No repositório tem um exemplo que fiz que manda e-mais a um ou mais destinatário selecionados,, é so adaptá-lo ao código..
    no exemplo ele envia o(s)n destinatarios para campo no outlook, aqui voce pode enviar para o código

    3) Anexos: 1 arquivo ou "n" arquivos, ou pelo menos 4 arquivos anexados, gravando o caminho do(s) mesmo(s) na Tabela

    Mesma forma de agir com os anexos... abrir via OpenFile, ao clicar leva o caminho para o campo, no botão, do campo para o código...


    No botào enviar podes gravar todos os dados digitados no form para uma tabela..


    Veja o exemplo no repositório, estude e entenderás a lógica



    Saudaçoes
    criquio
    criquio
    Moderador Global
    Moderador Global


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 11229
    Registrado : 30/12/2009

    [Resolvido]Email via CDO e Outlook Express - Gravacao e Anexos Empty Re: [Resolvido]Email via CDO e Outlook Express - Gravacao e Anexos

    Mensagem  criquio 22/7/2011, 23:13

    Com relação ao código acima, gostaria de entender as linhas:
    .Fields("http://schemas.microsoft.com/cdo/configuration/smtpserver") = "smtp.suaconta.com.br" 'seu servidor de e-mail.
    .Fields("http://schemas.microsoft.com/cdo/configuration/sendusername") = "o nome do usuario para logon no servidor" 'user do servidor
    .Fields("http://schemas.microsoft.com/cdo/configuration/sendpassword") = "senha do servidor" 'coloque a senha do seu email

    Vamos, primeiro, tentar colocar essas linhas utilizáveis para o seu caso:

    .Fields("http://schemas.microsoft.com/cdo/configuration/smtpserver") = "smtp.mp.pe.gov.br"
    .Fields("http://schemas.microsoft.com/cdo/configuration/sendusername") = "ouvidor@mp.pe.gov.br"
    .Fields("http://schemas.microsoft.com/cdo/configuration/sendpassword") = "SuaSenhaAqui"


    Na linha smtpporterserver você precisa saber a porta certa do seu servidor de email. Se você já usa o Outlook com essa conta, deve ter a porta na configuração. Veja se consegue adaptar essa parte e colocar funcional.


    .................................................................................
    Meu novo site: www.vcssistemas.com.br

    Clique aqui e veja um vídeo que explica como fazer pesquisas no forum.


    DICA: Quando precisar inserir um exemplo do seu aplicativo, siga os procedimentos abaixo:
    1 - faça uma cópia do aplicativo
    2 - retire tudo que não for necessário à solução do problema, exceto o que o aplicativo precisar para funcionar
    3 - use o Compactar/Reparar
    4 - compacte o aplicativo em zip ou rar (zip para postagem como anexo na mensagem)


    Agradeça a quem lhe ajudou, clicando no joinha de uma das mensagens do usuário.
    Positive as mensagens que achar útil, no canto superior direito delas.

    avatar
    vileman
    Super Avançado
    Super Avançado


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 580
    Registrado : 25/05/2011

    [Resolvido]Email via CDO e Outlook Express - Gravacao e Anexos Empty Email via CDO e Outlook Express - Gravacao e Anexos

    Mensagem  vileman 23/7/2011, 22:07

    Harysohn: Agradeço a atenção, e buscarei o exemplo no repositório do site e tentarei adaptar ao que preciso, depois informo, ok?

    Criquio: Agradeço a atenção, e farei primeiramente as alterações sugeridas e seus resultados, depois informarei, ok?
    avatar
    vileman
    Super Avançado
    Super Avançado


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 580
    Registrado : 25/05/2011

    [Resolvido]Email via CDO e Outlook Express - Gravacao e Anexos Empty Email via CDO e Outlook Express - Gravacao e Anexos

    Mensagem  vileman 28/7/2011, 04:00

    Boa noite Criquio, com relação ao seu último post:

    a) Funcionou as alterações conforme sua orientação;
    b) Na linha smtpporterserver = 25 (confirmado: outlook express)
    c) No campo txtanexo, para testar tive que digitar o caminho manualmente no campo, mesmo assim funcionou com 1 anexo;

    Antes de continuar, acho que esqueci de mencionar que as 2 opções (CDO e Outlook) é para usar no mesmo Formulário, ou seja, 1 botão de comando para cada uma, logicamente usando-se os mesmos campos.

    O que preciso ainda é:
    1) Gravar os campos do Email em 1 Tabela (Seja CDO ou Outlook Express) após o envio do email.
    2) Destinatários: Email para mais 2 Destinatarios além do Destinatario principal
    3) Anexos: 1 arquivo ou "n" arquivos, ou pelo menos 4 arquivos anexados, gravando o caminho do(s) mesmo(s) na Tabela.

    NOVAS NECESSIDADES:
    4) Após a anexação do(s) arquivo(s) gostaria de gravar o caminho desse arquivo anexo nessa mesma tabela;
    5) Precisei também criar um campo Senha na Tabela para colocar no Formulário para que quando digitar no mesmo seja feita a substituição na Função "EnviarEmail" na linha: .Fields(“http://schemas.microsoft.com/cdo/configuration/sendpassword = “mporelha”.
    Motivo: O coordenador informou que de mês em mês muda a senha por questão de segurança, ou seja, ficaria inviável para eu ficar sempre alterando a função mês a mês, no formulário.

    Uma curiosidade: caso seja mudado o servidor de emails que neste caso é o Outlook Express, para Windows Live Mail, IG ou Hotmail, basta apenas mudar as configurações das linhas .Fields da Função EnviarEmail ?

    Podemos fazer como Jack, o Estripador, ou seja, ir por partes, não tem pressa. Estou vendo também o exemplo sugerido pelo Harysohn, como não estou com muito tempo, no momento prefiro ir devagar mesmo, mas caso tenha algum arquivo que mais ou menos tenha o que preciso pode enviar que vejo com calma e vou fazendo as alterações junto com vocês. Obrigado.
    avatar
    vileman
    Super Avançado
    Super Avançado


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 580
    Registrado : 25/05/2011

    [Resolvido]Email via CDO e Outlook Express - Gravacao e Anexos Empty Email via CDO e Outlook Express - Gravacao e Anexos

    Mensagem  vileman 28/7/2011, 04:02

    Boa noite Harysohn, com relação ao seu último post:

    a) Não funcionou a alteração da linha: .Fields("http://schemas.microsoft.com/cdo/configuration/smtpserver") = ouvidor@mp.pe.gov.br"
    b) O exemplo que peguei no Repositório foi do SysPen, com 3 arquivos, era esse mesmo que você se referiu?
    c) Como alterar as configurações do arquivo SysPen.Par? Tentei abrir, mas o mesmo pede um aplicativo específico para abri-lo, qual seria ou como seria ? Pode ser um arquivo em um Drive de Rede ?
    d) Por que foi feito com 2 arquivos mdb ? Não poderia ser apenas em 1 arquivo mdb?

    Antes de continuar, acho que esqueci de mencionar que as 2 opções (CDO e Outlook) é para usar no mesmo Formulário, ou seja, 1 botão de comando para cada uma, logicamente usando-se os mesmos campos.

    NOVAS NECESSIDADES:
    4) Após a anexação do(s) arquivo(s) gostaria de gravar o caminho desse arquivo anexo nessa mesma tabela;
    5) Precisei também criar um campo Senha na Tabela para colocar no Formulário para que quando digitar no mesmo seja feita a substituição na Função "EnviarEmail" na linha: .Fields(“http://schemas.microsoft.com/cdo/configuration/sendpassword = “mporelha”.
    Motivo: O coordenador informou que de mês em mês muda a senha por conta de segurança, ou seja, ficaria inviável para eu ficar sempre alterando a função mês a mês, no formulário.
    6) A principio não consegui identificar como incluir mais de um Destinatario no SysPen.

    Uma curiosidade: caso seja mudado o servidor de emails que neste caso é o Outlook Express, para Windows Live Mail, IG ou Hotmail, basta apenas mudar as configurações das linhas .Fields da Função EnviarEmail ?

    No item respondido por você: 3) Anexos: 1 arquivo ou "n" arquivos, ou pelo menos 4 arquivos anexados, gravando o caminho do(s) mesmo(s) na Tabela.
    Mesma forma de agir com os anexos... abrir via OpenFile, ao clicar leva o caminho para o campo, no botão, do campo para o código.... Confesso que não tenho muita experiencia em Visual Basic, estou começando a estudar agora, ou seja, estou engatinhando ainda, mas vou ver como faço para entender a lógica e adaptar para meu caso.

    Podemos fazer como Jack, o Estripador, ou seja, ir por partes, não tem pressa. Estou vendo também o exemplo sugerido por você, como não estou com muito tempo, no momento prefiro ir devagar mesmo, mas caso tenha algum arquivo que mais ou menos tenha o que preciso pode enviar que vejo com calma e vou fazendo as alterações e inclucões junto com vocês. Obrigado.

    avatar
    Convidado
    Convidado


    [Resolvido]Email via CDO e Outlook Express - Gravacao e Anexos Empty Re: [Resolvido]Email via CDO e Outlook Express - Gravacao e Anexos

    Mensagem  Convidado 28/7/2011, 10:49

    No seu caso ao clicar no syspen.par, seu aplicativo não reconhecerá como arquivo válido e pedirá para indicar um programa para abrí-lo... Então proceda da seguinte forma:
    1 - selecione o arquivo com o mouse
    2 - Clique no botão direito (aparecerá o menu)
    3 - Escolha Abrir com...
    4 - Caso não apareca nenhum arquivo na lista, clique em procurar, vá no diretório do windows e procure pelo arquivo exe. do bloco de notas... escolha ele.. (pronto ja pode abrir o syspen.par pelo bloco de notas)
    5 - Altere os caminhos no syspen.par para o seu caminho onde fircará o seu sistema


    ****Porque uso dois MDB's?

    1 - Porque o sistema está dividido em BackEnd e FrontEnd
    portanto os form's e relatórios ficam no frontEnd e as tabelas no Back End (syspen_be.mdb) caso esteja utilizando a versão 2003

    ** Com relação a gravar o caminho do anexo na tabela..
    1 - Utilize a mesma solução sugerida neste tópico no botão que insere o anexo
    http://maximoaccess.forumeiros.com/t3080-banco-do-access-enviar-email

    *** Com relação ao CDO, deixarei isto nãs mãos do Criquio, ele é mais indicado neste caso do que eu.

    Bem essas informações ja dá pra começar os trabalhos.. qualquer dúvida poste


    Saudações
    avatar
    vileman
    Super Avançado
    Super Avançado


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 580
    Registrado : 25/05/2011

    [Resolvido]Email via CDO e Outlook Express - Gravacao e Anexos Empty Email via CDO e Outlook Express - Gravacao e Anexos

    Mensagem  vileman 30/7/2011, 01:35

    Harysohn: realmente agora tenho mais material para estudo e para começar o trabalho, depois informo, obrigado mais uma vez.
    avatar
    Convidado
    Convidado


    [Resolvido]Email via CDO e Outlook Express - Gravacao e Anexos Empty Re: [Resolvido]Email via CDO e Outlook Express - Gravacao e Anexos

    Mensagem  Convidado 30/7/2011, 14:14

    Valeu... Qualquer dúvida.. não hesite..

    Bom trabalho

    Conteúdo patrocinado


    [Resolvido]Email via CDO e Outlook Express - Gravacao e Anexos Empty Re: [Resolvido]Email via CDO e Outlook Express - Gravacao e Anexos

    Mensagem  Conteúdo patrocinado


      Data/hora atual: 28/3/2024, 18:00