INÍCIO > Fórum > Programação IEC 61131 (LogicLab) > Novo bloco de funções para envio de e-mail
- Este tópico tem 25 respostas, 1 participante e foi atualizado pela última vez anos 4 atrás da Sergio Bertana.
-
autorPublique
-
Março 17, 2017 em 5: 22 pm #36118Sergio BertanaAdministrador do fórum
O novo bloco de função foi lançado Emailsend (Extracto manual) que permite o envio de e-mails de nossos sistemas programáveis. Eu fiz um programa de demonstração simples que pode ser usado para testar seu funcionamento. Claro, você precisa definir o URL do servidor SMTP a ser usado para encaminhamento e as credenciais de login.
O FB não lida com criptografia TLS, portanto, o GMail não pode ser usado como um servidor SMTP de retransmissão. Download do programa EMailSendExample.
Março 21, 2017 em 8: 46 pm #39880PauloparticipanteDesculpe, mas não consigo encontrar a biblioteca eLLabNetworkLib_A400.
Março 24, 2017 em 7: 11 am #39881Sergio BertanaAdministrador do fórumA biblioteca está atualmente em construção, então ainda não a lançamos, mas se você baixar o projeto no post também encontrará o FB dentro Emailsend que você precisa.
Tendo o projeto, com a exportação de objetos você pode exportar o FB e utilizá-lo em seus projetos.
Outubro 1, 2019 em 7: 16 am #50108RuboxparticipanteExistem limites particulares no comprimento permitido das seqüências passadas para o FB EmailSend? Se os dados estiverem nos caracteres 256, o email será enviado sem a ativação de falha e o corpo do email estará visível.
Se os dados estiverem além dos caracteres 256, o email será sempre enviado sem a ativação de falha, mas o corpo do email não estará presente.
Tentei espionar os comandos do servidor SMTP e não vejo nada de estranho (tanto quanto posso interpretá-los) e não recebo erros com o SysGetLastError.
Outubro 1, 2019 em 7: 19 am #50125Sergio BertanaAdministrador do fórumSim, na verdade existe um limite para o tamanho do texto do e-mail; atualmente, ele está bloqueado em 256 caracteres. Estamos repensando a gestão do e-mail também com vistas à criptografia, assim que resolvermos os problemas chegaremos com algo novo e com mais desempenho.
Novembro 5, 2019 em 11: 08 am #50709RuboxparticipanteE acho que não há possibilidade de enviar um email do PLC com um anexo…?
Meu cliente está me pedindo para que o PLC envie a ele o arquivo no cartão SD do PLC como um anexo de um e-mail: há uma maneira de fazer isso?
Novembro 5, 2019 em 11: 10 am #50741Sergio BertanaAdministrador do fórumOs anexos não são possíveis, mas se o arquivo for um arquivo de texto e / ou CSV, você poderá lê-lo e inseri-lo no corpo do e-mail (exceto sempre o limite de tamanho).
Novembro 6, 2019 em 3: 02 pm #50742RuboxparticipanteNo momento estou fazendo isso para enviar um instantâneo dos valores em horários definidos, mas o limite de 256 caracteres é "limitante": são 6 valores amostrados a cada 5 minutos durante o dia.
Eu estava olhando para ver se posso obter um SBC que possa gerenciar automaticamente a retirada de arquivos via FTP do PLC SD e enviá-lo por e-mail ao cliente.
Novembro 6, 2019 em 3: 32 pm #50806Sergio BertanaAdministrador do fórumPara adicionar um sistema de PC, você pode avaliar nossa solução baseada em Raspberry, onde certamente enviaremos um e-mail mais eficiente.
Outra solução que muitos clientes adotaram é enviar os dados de log via REST para um servidor Local / Remoto que os armazena e, em seguida, gera o email e o envia. Se você conhece a linguagem PHP, estou anexando o projeto CloudLogger isso faz exatamente o que você precisa.
Novamente, o servidor PHP pode rodar em SlimLine Framboesa ao mesmo tempo que o programa LogicLab.
Novembro 6, 2019 em 4: 23 pm #50809RuboxparticipanteEsta manhã vi que existem PLCs baseados no Raspberry. E eu entendo que nesses módulos você pode programar a CPU com LogicLab, mas também a parte Linux (se é que entendi pelo menos parte do que li).
O programa que estou criando (está terminado, mas eles sempre pedem alterações ...) envia o arquivo de log do dia anterior para o meu FTP, todos os dias, e envia os valores a cada poucos segundos para a minha página PHP em um servidor que os leva, ele verifica e os coloca em um banco de dados. O cliente está relutante em me dar acesso ao seu FTP ou banco de dados no servidor.
Por enquanto, vou disponibilizá-los com um gráfico em uma página html. Assim que ele me entrega um Raspberry e eu consigo descobrir como fazê-lo, coloco na LAN do meu servidor FTP e enviarei o arquivo que recebo.
Obrigado pelas sugestões.
Novembro 6, 2019 em 4: 33 pm #50811Sergio BertanaAdministrador do fórumSim, você acertou SlimLine O Raspberry pode ser programado com o LogicLab como os outros módulos SlimLine e simultaneamente pode executar programas em C ++, Phyton, PHP, Node-RED etc.
Se você procurar no conhecimento, encontrará exemplos e também o programa CloudLogger pode ser executado no módulo Raspberry no lado do LogicLab e no lado do PHP.
Novembro 7, 2019 em 7: 05 am #50812RuboxparticipanteComo sempre, sua resposta foi esclarecedora, no sentido de que eu já tinha a solução pronta, mas não conseguia enxergar (nem chegar lá): da mesma forma eu tiro dados do banco de dados para fazer gráficos em páginas HTML ...
Vou tentar fazer um script PHP chamado por SlimLine do programa que gerencia a mudança do dia, que coleta os dados, os reúne como corpo da mensagem e os envia por correio (). Ou usando uma biblioteca (PHPMailer) criando um arquivo e enviando-o como um anexo.
Entre outras coisas, ao fazer isso também posso extrair dados do banco de dados com periodicidade diferente de uma forma simples com uma consulta.
Novembro 12, 2019 em 3: 19 pm #50968RuboxparticipanteEu faço outra pergunta para novatos: quantos blocos EmailSend posso usar em um programa?
Preciso enviar e-mails diferentes quando ocorrem vários eventos. Esses eventos também podem acontecer no mesmo ciclo. No momento tentei fazer tudo funcionar com várias casas, inclusive a possibilidade de um erro no envio de um e-mail ... mas com pouco sucesso: alguns e-mails se perdem.
Eu estava pensando em criar um pequeno programa para cada evento a ser capturado e gerenciado: minha única reclamação é se for SlimLine pode se comunicar / usar mais EmailSend ao mesmo tempo ou não.
Também estava pensando, alternativamente, em criar uma matriz de pares Assunto / Corpo de e-mail em que inserir o e-mail quando o evento ocorrer e, em seguida, controlar qual mensagem ainda deve ser enviada e verificar seu envio real, naquele verifique se foi a última mensagem ou não, e assim por diante.
Todas as sugestões são bem-vindas.
Novembro 12, 2019 em 3: 24 pm #50971Sergio BertanaAdministrador do fórumO limite é a memória e o número de soquetes abertos ao mesmo tempo (hoje são soquetes 32), mas para instanciar muitos FBs de envio por e-mail, eu gerenciaria as concomitâncias de eventos usando o FB FIFOFile salvar o evento no arquivo FIFO e depois poder extraí-lo quando o FB de envio do e-mail estiver livre.
Lembro que os eventos salvos no FIFO não têm limite de tamanho, então também pode ser todo o texto do e-mail e ao extraí-lo do FIFO terá a indicação do tempo (hora da época) de quando carregou. Então você pode enviar o e-mail informando no assunto a data / hora exata de quando o texto foi gerado.
Novembro 14, 2019 em 4: 40 pm #50974RuboxparticipanteComeço a ler bem, estudar o FIFOFile e montar a lógica para não cometer erros.
Eu diria que as coisas que tenho que fazer são: salvar a mensagem no FIFOFile (possivelmente uma entrada múltipla para cada endereço de e-mail a ser enviado), manter o controle de quantas entradas foram feitas. Se houver algo no FIFO, então ligo para a parte que está enviando a mensagem. Após o envio, diminuo o contador de mensagens FIFO ... e reinicio com a verificação se há mensagens na fila.
Então deveria estar tudo bem?
-
autorPublique
- Você deve estar logado para responder a este tópico.