Gracias Rui Pinto (Rapinto)
COBOL Foro
Foro dedicado a COBOL, a la Programación y a la Informática.
  COBOL Foro > IDE-s y compiladores COBOL > Cocina Casera > Cocina PowerCOBOL
Cocina PowerCOBOL Rutinas y ejemplos codificados por nuestros foreros.
Comunicados
Otros temas que te pueden interesar
Tema Autor Foro Respuestas Último post
[Componente] Enviar E-Mail desde PowerCOBOL Recato53 PowerCOBOL (ActiveX, v4 - v11) 17 30 de agosto de 2019 10:34
[Compilador] OCX/DLL SKIN para PowerCobol Joseg PowerCOBOL (ActiveX, v4 - v11) 10 30 de septiembre de 2018 22:31
[Aporte] Dll interfaceEpsonNF ejemplo de uso drvedia1981 Cocina PowerCOBOL 0 19 de diciembre de 2017 01:30
[Aporte] Ejemplo PWC y SQL Embebido Josber Cocina PowerCOBOL 10 15 de junio de 2017 02:17
[Sintaxis] Ejemplo de envío FTP Fito WinDev 0 29 de agosto de 2016 22:45
Respuesta
 
Herramientas

  #1
Antiguo 21 de septiembre de 2017, 11:21
IDENTIFICATION DIVISION
Josber
 Super Moderador
Activista del Foro: Activista del Foro - Razón: Por aportar manuales y enriquecer   Agradecimientos: Por muchos agradecimientos de parte de los Foreros - Razón: Por muchos agradecimientos 
ENVIRONMENT DIVISION
Avatar de Josber
DATA DIVISION
febrero 2015
Alicante
31.07.2021 17:38
PROCEDURE DIVISION
Posts: 591
Enviado: 269
Recibido: 289
Soluiones: 38
Reputación: 29
Josber is on a distinguished road Josber is on a distinguished road Josber is on a distinguished road Josber is on a distinguished road Josber is on a distinguished road Josber is on a distinguished road Josber is on a distinguished road Josber is on a distinguished road Josber is on a distinguished road Josber is on a distinguished road Josber is on a distinguished road
Predeterminado Ocx, Dll y ejemplo envío Mail desde PWC

Aquí os dejo un pequeño programa que he hecho de ejemplo, para poder enviar correos desde PowerCobol, el componente tiene casi todas las opciones necesarias, usuario, contraseña, servidores POP3 y SMTP, envío de adjuntos, exportar a EML, envíos PARA:, CC: CCO:, Puerto, etc.

El componente está probado en Windows 10 x64 y PowerCobol 9, y funciona perfectamente. Para que funcione, hay que registrar el ocx y la dll, con permisos de administrador, o de lo contrario, nos dará error al abrir el proyecto.

- Incluye: ppj, exe, ocx, dll e iconos.
- Versión del Compilador: PWC9, aunque supongo que funcionará en las demás versiones sin problemas.
- Incluye: Documento rtf, con una pequeña descripción de los eventos y propiedades del componente.

Un saludo a todos.-
Imágenes Adjuntas
Tipo de Archivo: jpg IMG1.jpg (66,1 KB, 56 descargas)
Tipo de Archivo: jpg IMG2.jpg (50,4 KB, 48 descargas)
Archivos Adjuntos
Tipo de Archivo: rar Correo PWC9.rar (226,9 KB, 90 descargas)
Josber no ha iniciado sesión   Responder Con Cita
Han dicho Gracias: 12
Armando (21 de septiembre de 2017), cacho2018 (14 de junio de 2018), Celina ( 3 de diciembre de 2020), fastpho (22 de septiembre de 2017), Fito (25 de septiembre de 2017), Hrmcobol (26 de septiembre de 2017), Joseg (22 de septiembre de 2017), Kuk (21 de septiembre de 2017), Lascu (12 de febrero de 2019), Nitzer (28 de septiembre de 2017), Recato53 (14 de enero de 2018), Socavi (18 de marzo de 2021)
  #2
Antiguo 13 de marzo de 2021, 00:37
IDENTIFICATION DIVISION
Celina
 Acabo de llegar...
ENVIRONMENT DIVISION
Avatar de Celina
DATA DIVISION
septiembre 2020
24.06.2021 16:53
PROCEDURE DIVISION
Posts: 7
Enviado: 10
Recibido: 0
Soluiones: 0
Reputación: 0
Celina is an unknown quantity at this point
Predeterminado

@Josber,

Realmente aprecio que compartas, pero tengo un problema, si pones acentos en el cuerpo del mensaje, ¿aparecen con caracteres especiales? ¿Me puedes ayudar? Muchas gracias
Celina no ha iniciado sesión   Responder Con Cita
  #3
Antiguo 13 de marzo de 2021, 18:17
IDENTIFICATION DIVISION
Josber
 Super Moderador
Activista del Foro: Activista del Foro - Razón: Por aportar manuales y enriquecer   Agradecimientos: Por muchos agradecimientos de parte de los Foreros - Razón: Por muchos agradecimientos 
ENVIRONMENT DIVISION
Avatar de Josber
DATA DIVISION
febrero 2015
Alicante
31.07.2021 17:38
PROCEDURE DIVISION
Posts: 591
Enviado: 269
Recibido: 289
Soluiones: 38
Reputación: 29
Josber is on a distinguished road Josber is on a distinguished road Josber is on a distinguished road Josber is on a distinguished road Josber is on a distinguished road Josber is on a distinguished road Josber is on a distinguished road Josber is on a distinguished road Josber is on a distinguished road Josber is on a distinguished road Josber is on a distinguished road
Predeterminado

Cita del post de Celina Ver Mensaje
¿aparecen con caracteres especiales?

No sé si es que lo preguntas porque sí te aparecen caracteres especiales, o es que se te han colado las interrogaciones, a ver, a mí no me aparece nada raro, y sí puedo enviar un texto con acentos, yo más bien pienso en alguna configuración de tu Windows, no sé si a alguien más le pasará, a ver si alguien expone algo.

Es que si no, no sé por donde tirar para ayudarte

Un salu2.-
Josber no ha iniciado sesión   Responder Con Cita
Ha dicho Gracias : 1
Celina (22 de marzo de 2021)
  #4
Antiguo 19 de marzo de 2021, 13:23
IDENTIFICATION DIVISION
Celina
 Acabo de llegar...
ENVIRONMENT DIVISION
Avatar de Celina
DATA DIVISION
septiembre 2020
24.06.2021 16:53
PROCEDURE DIVISION
Posts: 7
Enviado: 10
Recibido: 0
Soluiones: 0
Reputación: 0
Celina is an unknown quantity at this point
Predeterminado

Muchas gracias por su respuesta.

Si envío el siguiente texto:

"Isto é um teste. Não consigo enviar palavras com acentos faça as alterações que fizer."

En el correo electrónico el texto enviado es:

“Isto i um teste. Nco consigo enviar palavras com acentos faga as alteragues que fizer.”

en su ayuda se asigna el archivo RTF:

object.Charset As String
Character set used in message (default - "us-ascii")

pero no sé cómo trabajar con él.

MOVE "Text" OF CmEML-ENVIO TO "MailFrom" OF SMTP1
MOVE "ISO-8859-1" TO "Charset" OF SMTP1
MOVE "Text" OF CmUSER TO "Username" OF SMTP1
MOVE "Text" OF CmPASS TO "Password" OF SMTP1
MOVE "Text" OF CmPOP3 TO "POPServer" OF SMTP1
MOVE "Text" OF CmSMTP TO "Server" OF SMTP1
MOVE "Text" OF CmPORTA TO "Port" OF SMTP1
MOVE 2 TO "AuthenticationType" OF SMTP1 *>AUTH LOGIN
MOVE "Text" OF CmASSUNTO TO "MessageSubject" OF SMTP1
MOVE "Text" OF CmMENSAGEM TO "MessageText" OF SMTP1


Puedes ver cómo se ve en la imagen.

Muchas gracias
Imágenes Adjuntas
Tipo de Archivo: jpg exemplo.jpg (58,6 KB, 8 descargas)
Celina no ha iniciado sesión   Responder Con Cita
  #5
Antiguo 19 de marzo de 2021, 14:55
IDENTIFICATION DIVISION
Joseg
 Forero
Innovación: Por aportar innovaciones - Razón: Por aportar soluciones innovadoras en varias ocasiones 
ENVIRONMENT DIVISION
Avatar de Joseg
DATA DIVISION
abril 2015
23.07.2021 15:00
PROCEDURE DIVISION
Posts: 218
Enviado: 50
Recibido: 92
Soluiones: 13
Reputación: 15
Joseg has a spectacular aura about Joseg has a spectacular aura about Joseg has a spectacular aura about Joseg has a spectacular aura about Joseg has a spectacular aura about Joseg has a spectacular aura about Joseg has a spectacular aura about
Predeterminado

Cita del post de Celina Ver Mensaje
Muchas gracias por su respuesta.

Si envío el siguiente texto:

"Isto é um teste. Não consigo enviar palavras com acentos faça as alterações que fizer."

En el correo electrónico el texto enviado es:

“Isto i um teste. Nco consigo enviar palavras com acentos faga as alteragues que fizer.”

en su ayuda se asigna el archivo RTF:

object.Charset As String
Character set used in message (default - "us-ascii")

pero no sé cómo trabajar con él.

MOVE "Text" OF CmEML-ENVIO TO "MailFrom" OF SMTP1
MOVE "ISO-8859-1" TO "Charset" OF SMTP1
MOVE "Text" OF CmUSER TO "Username" OF SMTP1
MOVE "Text" OF CmPASS TO "Password" OF SMTP1
MOVE "Text" OF CmPOP3 TO "POPServer" OF SMTP1
MOVE "Text" OF CmSMTP TO "Server" OF SMTP1
MOVE "Text" OF CmPORTA TO "Port" OF SMTP1
MOVE 2 TO "AuthenticationType" OF SMTP1 *>AUTH LOGIN
MOVE "Text" OF CmASSUNTO TO "MessageSubject" OF SMTP1
MOVE "Text" OF CmMENSAGEM TO "MessageText" OF SMTP1


Puedes ver cómo se ve en la imagen.

Muchas gracias


Porque não gosto de usar OCXs de terceiros (é necessário registar em cada posto que o vai usar...),
uso esta ferramenta e funciona muito bem (mas há outras alternativas):

Código COBOL:
  1.           string "SwithMail.exe /s /x swc.xml" delimited by size
  2.               " /to "  delimited by size                 *> para
  3.                wTO delimited by "  "
  4.               into CommandLine
  5.           end-string
  6.  
  7.           IF wCC NOT = SPACES
  8.              STRING CommandLine DELIMITED BY "  "         *> CC  
  9.                 " /CC "  delimited by size
  10.                 wCC  delimited by "  "
  11.                 INTO CommandLine
  12.              end-string
  13.           END-IF
  14.  
  15.           STRING CommandLine DELIMITED BY "  "
  16.               ' /sub "'  delimited by size
  17.               wSUBJECT delimited by "     "     *> assunto
  18.               '"' delimited by size
  19.               INTO  CommandLine
  20.           end-string
  21.  
  22.           STRING CommandLine DELIMITED BY "  "
  23.               ' /b '  delimited by size             *> body
  24.               '"' delimited by size
  25.               wBODY delimited by "                           "
  26.               '"' delimited by size
  27.               into CommandLine
  28.           end-string
  29.  
  30.           IF wATTACH NOT = SPACES      
  31.              STRING CommandLine DELIMITED BY "  "
  32.                 ' /a '  delimited by size
  33.                 '"' delimited by size
  34.                 wATTACH  DELIMITED BY "   "    *> anexo1
  35.                 '"' delimited by size
  36.                 INTO CommandLine
  37.              end-string
  38.           END-IF
  39.           INVOKE pow-self "Execute" USING CommandLine POW-SWHIDE  
Joseg no ha iniciado sesión   Responder Con Cita
Ha dicho Gracias : 1
Celina (22 de marzo de 2021)
  #6
Antiguo 22 de marzo de 2021, 12:35
IDENTIFICATION DIVISION
Celina
 Acabo de llegar...
ENVIRONMENT DIVISION
Avatar de Celina
DATA DIVISION
septiembre 2020
24.06.2021 16:53
PROCEDURE DIVISION
Posts: 7
Enviado: 10
Recibido: 0
Soluiones: 0
Reputación: 0
Celina is an unknown quantity at this point
Predeterminado

Cita del post de Joseg Ver Mensaje
Porque não gosto de usar OCXs de terceiros (é necessário registar em cada posto que o vai usar...),
uso esta ferramenta e funciona muito bem (mas há outras alternativas):

Código COBOL:
  1.           string "SwithMail.exe /s /x swc.xml" delimited by size
  2.               " /to "  delimited by size                 *> para
  3.                wTO delimited by "  "
  4.               into CommandLine
  5.           end-string
  6.  
  7.           IF wCC NOT = SPACES
  8.              STRING CommandLine DELIMITED BY "  "         *> CC  
  9.                 " /CC "  delimited by size
  10.                 wCC  delimited by "  "
  11.                 INTO CommandLine
  12.              end-string
  13.           END-IF
  14.  
  15.           STRING CommandLine DELIMITED BY "  "
  16.               ' /sub "'  delimited by size
  17.               wSUBJECT delimited by "     "     *> assunto
  18.               '"' delimited by size
  19.               INTO  CommandLine
  20.           end-string
  21.  
  22.           STRING CommandLine DELIMITED BY "  "
  23.               ' /b '  delimited by size             *> body
  24.               '"' delimited by size
  25.               wBODY delimited by "                           "
  26.               '"' delimited by size
  27.               into CommandLine
  28.           end-string
  29.  
  30.           IF wATTACH NOT = SPACES      
  31.              STRING CommandLine DELIMITED BY "  "
  32.                 ' /a '  delimited by size
  33.                 '"' delimited by size
  34.                 wATTACH  DELIMITED BY "   "    *> anexo1
  35.                 '"' delimited by size
  36.                 INTO CommandLine
  37.              end-string
  38.           END-IF
  39.           INVOKE pow-self "Execute" USING CommandLine POW-SWHIDE  


Muito obrigada pela sua ajuda.
Vou tentar usar esse e se pudesse agradecia que me enviasse um ficheiro exemplo do swc.xml para eu ver a configuração.

Se tiver de anexar vários anexos ao email como ficaria o código?

Mais uma vezes agradeço-lhe imenso a sua ajuda.
Celina no ha iniciado sesión   Responder Con Cita
  #7
Antiguo 22 de marzo de 2021, 23:05
IDENTIFICATION DIVISION
Joseg
 Forero
Innovación: Por aportar innovaciones - Razón: Por aportar soluciones innovadoras en varias ocasiones 
ENVIRONMENT DIVISION
Avatar de Joseg
DATA DIVISION
abril 2015
23.07.2021 15:00
PROCEDURE DIVISION
Posts: 218
Enviado: 50
Recibido: 92
Soluiones: 13
Reputación: 15
Joseg has a spectacular aura about Joseg has a spectacular aura about Joseg has a spectacular aura about Joseg has a spectacular aura about Joseg has a spectacular aura about Joseg has a spectacular aura about Joseg has a spectacular aura about
Predeterminado

Cita del post de Celina Ver Mensaje
Muito obrigada pela sua ajuda.
Vou tentar usar esse e se pudesse agradecia que me enviasse um ficheiro exemplo do swc.xml para eu ver a configuração.

Se tiver de anexar vários anexos ao email como ficaria o código?

Mais uma vezes agradeço-lhe imenso a sua ajuda.

Código COBOL:
  1.   IF wATTACH NOT = SPACES      
  2.              STRING CommandLine DELIMITED BY "  "
  3.                 ' /a '  delimited by size
  4.                 '"' delimited by size
  5.                 wATTACH  DELIMITED BY "   "    *> anexo1
  6.                 '"' delimited by size
  7.                 INTO CommandLine
  8.              end-string
  9.           END-IF
  10.          IF wATTACH2 NOT = SPACES      
  11.              STRING CommandLine DELIMITED BY "  "
  12.                 '|'  delimited by size
  13.                 wATTACH2  DELIMITED BY "   "    *> anexo2
  14.                 '"' delimited by size
  15.                 INTO CommandLine
  16.              end-string
  17.           END-IF

Separar os vários anexos com o separador "|"

O XML é criado automaticamente com a a ferramenta. Ver a imagem,
Mas basicamente é a onde fica registado a configuração da conta de e-mail a usar (user, password, server).
Imágenes Adjuntas
Tipo de Archivo: jpg 2021-03-22_225852.jpg (510,1 KB, 9 descargas)
Joseg no ha iniciado sesión   Responder Con Cita
Ha dicho Gracias : 1
Celina (23 de marzo de 2021)
  #8
Antiguo 25 de marzo de 2021, 14:55
IDENTIFICATION DIVISION
jmeza
 Novato Junior
ENVIRONMENT DIVISION
Avatar de jmeza
DATA DIVISION
abril 2017
Curico Chile
10.07.2021 01:05
PROCEDURE DIVISION
Posts: 82
Enviado: 23
Recibido: 3
Soluiones: 0
Reputación: 5
jmeza is an unknown quantity at this point
Predeterminado

Cita del post de Josber Ver Mensaje
registrar el ocx y la dll
Joseg, disculpa la pregunta, como registro
registrar el ocx y la dll
jmeza no ha iniciado sesión   Responder Con Cita
  #9
Antiguo 25 de marzo de 2021, 14:59
IDENTIFICATION DIVISION
Joseg
 Forero
Innovación: Por aportar innovaciones - Razón: Por aportar soluciones innovadoras en varias ocasiones 
ENVIRONMENT DIVISION
Avatar de Joseg
DATA DIVISION
abril 2015
23.07.2021 15:00
PROCEDURE DIVISION
Posts: 218
Enviado: 50
Recibido: 92
Soluiones: 13
Reputación: 15
Joseg has a spectacular aura about Joseg has a spectacular aura about Joseg has a spectacular aura about Joseg has a spectacular aura about Joseg has a spectacular aura about Joseg has a spectacular aura about Joseg has a spectacular aura about
Predeterminado

Cita del post de jmeza Ver Mensaje
Joseg, disculpa la pregunta, como registro
registrar el ocx y la dll
en modo administrador, ejecute: reg.bat
Joseg no ha iniciado sesión   Responder Con Cita
  #10
Antiguo 29 de marzo de 2021, 15:16
IDENTIFICATION DIVISION
Celina
 Acabo de llegar...
ENVIRONMENT DIVISION
Avatar de Celina
DATA DIVISION
septiembre 2020
24.06.2021 16:53
PROCEDURE DIVISION
Posts: 7
Enviado: 10
Recibido: 0
Soluiones: 0
Reputación: 0
Celina is an unknown quantity at this point
Predeterminado

Cita del post de Joseg Ver Mensaje
Código COBOL:
  1.   IF wATTACH NOT = SPACES      
  2.              STRING CommandLine DELIMITED BY "  "
  3.                 ' /a '  delimited by size
  4.                 '"' delimited by size
  5.                 wATTACH  DELIMITED BY "   "    *> anexo1
  6.                 '"' delimited by size
  7.                 INTO CommandLine
  8.              end-string
  9.           END-IF
  10.          IF wATTACH2 NOT = SPACES      
  11.              STRING CommandLine DELIMITED BY "  "
  12.                 '|'  delimited by size
  13.                 wATTACH2  DELIMITED BY "   "    *> anexo2
  14.                 '"' delimited by size
  15.                 INTO CommandLine
  16.              end-string
  17.           END-IF

Separar os vários anexos com o separador "|"

O XML é criado automaticamente com a a ferramenta. Ver a imagem,
Mas basicamente é a onde fica registado a configuração da conta de e-mail a usar (user, password, server).

Consegui colocar o envio de emails pelo SwithMail a funcionar, mas agora criei uma lista de envio de emails em série e testei o envio para 4 emails meus e funcionou na perfeição, mas ao enviar para outros deu falha no envio e no ficheiro de Log a mensagem é a seguinte:

"O cliente não tem permissão para enviar correio para este servidor. A resposta do servidor foi: 4.7.1 <email@teste.com>: Relay access denied"

Outra dúvida, quantos emails podem ser enviados ao mesmo tempo, ou seja, quantos comandos "INVOKE pow-self Execute USING CommandLine POW-SWHIDE" posso executar ao mesmo tempo?

Agradeço a ajuda dispensada.
Celina no ha iniciado sesión   Responder Con Cita
Respuesta


Usuarios activos actualmente viendo este tema: 1 (0 miembros y 1 visitantes)
 
Herramientas

Derechos de Publicación
No puedes publicar nuevos temas
No puedes publicar posts/responder
No puedes adjuntar archivos
No puedes editar tus posts

BB code is habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado



La franja horaria es GMT +1. Ahora son las 01:09.
Powered by: vBulletin, Versión 3.8.7
Derechos de Autor ©2000 - 2021, Jelsoft Enterprises Ltd.