Cobol Foro
Navegación en el Foro
Retroceder   Cobol Foro Entornos de desarrollo y compiladores Cobol Cocina Casera Cocina PowerCOBOL
Cocina PowerCOBOL Rutinas y ejemplos codificados por nuestros foreros.
 
Otros temas que te pueden interesar
Tema Autor Foro Respuestas Último post
[Componente] Enviar E-Mail desde PowerCOBOL Recato53 PowerCOBOL (ActiveX, v4 - v11) 21 5 de junio de 2025 19:05
[Duda] Envio de e-mail con adjuntos Gusaiello AcuCobol 2 20 de noviembre de 2019 17:45
[PowerCOBOL] Dll interfaceEpsonNF ejemplo de uso drvedia1981 Cocina PowerCOBOL 0 19 de diciembre de 2017 02:30
[PowerCOBOL] Ejemplo PWC y SQL Embebido Josber Cocina PowerCOBOL 10 15 de junio de 2017 03:17
[Sintaxis] Ejemplo de envío FTP Fito WinDev 0 29 de agosto de 2016 23:45

Respuesta
 
Herramientas

  #1
Antiguo 21 de septiembre de 2017, 12:21
Josber
Moderador Global
Activista del Foro: Activista del Foro - Issue reason: Por aportar manuales y enriquecer  Agradecimientos: Por muchos agradecimientos de parte de los Foreros - Issue reason: Por muchos agradecimientos 
Última Actividad 20.09.2026 12:17
Posts Posts: 883
Likes enviados Enviados: 418
Likes recibidos Recibidos: 492

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.-

Miniatura de Adjuntos
Pulsar la imagen para la versión amplia
Nombre:  IMG1.jpg
Vistas: 269
Tamaño:  66,1 KB   Pulsar la imagen para la versión amplia
Nombre:  IMG2.jpg
Vistas: 250
Tamaño:  50,4 KB  
Archivos Adjuntos
Tipo de Archivo: rar Correo PWC9.rar (226,9 KB)Descargas: 336
Josber is offline   Responder Con Cita
  #2
Antiguo 13 de marzo de 2021, 01:37
Celina
Forero Junior
Última Actividad 17.12.2025 11:49
Posts Posts: 20
Likes enviados Enviados: 31
Likes recibidos Recibidos: 0

@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 is offline   Responder Con Cita
  #3
Antiguo 13 de marzo de 2021, 19:17
Josber
Moderador Global
Activista del Foro: Activista del Foro - Issue reason: Por aportar manuales y enriquecer  Agradecimientos: Por muchos agradecimientos de parte de los Foreros - Issue reason: Por muchos agradecimientos 
Última Actividad 20.09.2026 12:17
Posts Posts: 883
Likes enviados Enviados: 418
Likes recibidos Recibidos: 492

Citación 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 is offline   Responder Con Cita
  #4
Antiguo 19 de marzo de 2021, 14:23
Celina
Forero Junior
Última Actividad 17.12.2025 11:49
Posts Posts: 20
Likes enviados Enviados: 31
Likes recibidos Recibidos: 0

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

Miniatura de Adjuntos
Pulsar la imagen para la versión amplia
Nombre:  exemplo.jpg
Vistas: 206
Tamaño:  58,6 KB  
Celina is offline   Responder Con Cita
  #5
Antiguo 19 de marzo de 2021, 15:55
Joseg
El Foro es mi casa
Activista del Foro: Activista del Foro - Issue reason: Por participación activa Innovación: Por aportar innovaciones - Issue reason: Por aportar soluciones innovadoras en varias ocasiones 
Última Actividad 17.09.2026 18:23
Posts Posts: 401
Likes enviados Enviados: 130
Likes recibidos Recibidos: 179

Citación 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 is offline   Responder Con Cita
  #6
Antiguo 22 de marzo de 2021, 13:35
Celina
Forero Junior
Última Actividad 17.12.2025 11:49
Posts Posts: 20
Likes enviados Enviados: 31
Likes recibidos Recibidos: 0

Citación 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 is offline   Responder Con Cita
  #7
Antiguo 23 de marzo de 2021, 00:05
Joseg
El Foro es mi casa
Activista del Foro: Activista del Foro - Issue reason: Por participación activa Innovación: Por aportar innovaciones - Issue reason: Por aportar soluciones innovadoras en varias ocasiones 
Última Actividad 17.09.2026 18:23
Posts Posts: 401
Likes enviados Enviados: 130
Likes recibidos Recibidos: 179

Citación 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).

Miniatura de Adjuntos
Pulsar la imagen para la versión amplia
Nombre:  2021-03-22_225852.jpg
Vistas: 214
Tamaño:  510,1 KB  
Joseg is offline   Responder Con Cita
  #8
Antiguo 25 de marzo de 2021, 15:55
jmeza
Forero Senior
Última Actividad 23.05.2026 02:04
Posts Posts: 106
Likes enviados Enviados: 26
Likes recibidos Recibidos: 4

Citación 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 is offline   Responder Con Cita
  #9
Antiguo 25 de marzo de 2021, 15:59
Joseg
El Foro es mi casa
Activista del Foro: Activista del Foro - Issue reason: Por participación activa Innovación: Por aportar innovaciones - Issue reason: Por aportar soluciones innovadoras en varias ocasiones 
Última Actividad 17.09.2026 18:23
Posts Posts: 401
Likes enviados Enviados: 130
Likes recibidos Recibidos: 179

Citación 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 is offline   Responder Con Cita
  #10
Antiguo 29 de marzo de 2021, 16:16
Celina
Forero Junior
Última Actividad 17.12.2025 11:49
Posts Posts: 20
Likes enviados Enviados: 31
Likes recibidos Recibidos: 0

Citación 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 protected]>: 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 is offline   Responder Con Cita
Respuesta



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

Saltar a Foro


La franja horaria es GMT +2. Ahora son las 13:54.
Powered by: vBulletin, Versión 3.8.7
Derechos de Autor ©2000 - 2026, Jelsoft Enterprises Ltd.