Ver la Versión Completa : [PowerCOBOL] Ocx, Dll y ejemplo envío Mail desde PWC
Josber
21 de septiembre de 2017, 12:21
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.-
Celina
13 de marzo de 2021, 01:37
@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
Josber
13 de marzo de 2021, 19:17
¿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.-
Celina
19 de marzo de 2021, 14:23
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
Joseg
19 de marzo de 2021, 15:55
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):
string "SwithMail.exe /s /x swc.xml" delimited by size
" /to " delimited by size *> para
wTO delimited by " "
into CommandLine
end-string
IF wCC NOT = SPACES
STRING CommandLine DELIMITED BY " " *> CC
" /CC " delimited by size
wCC delimited by " "
INTO CommandLine
end-string
END-IF
STRING CommandLine DELIMITED BY " "
' /sub "' delimited by size
wSUBJECT delimited by " " *> assunto
'"' delimited by size
INTO CommandLine
end-string
STRING CommandLine DELIMITED BY " "
' /b ' delimited by size *> body
'"' delimited by size
wBODY delimited by " "
'"' delimited by size
into CommandLine
end-string
IF wATTACH NOT = SPACES
STRING CommandLine DELIMITED BY " "
' /a ' delimited by size
'"' delimited by size
wATTACH DELIMITED BY " " *> anexo1
'"' delimited by size
INTO CommandLine
end-string
END-IF
INVOKE pow-self "Execute" USING CommandLine POW-SWHIDE
Celina
22 de marzo de 2021, 13:35
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):
string "SwithMail.exe /s /x swc.xml" delimited by size
" /to " delimited by size *> para
wTO delimited by " "
into CommandLine
end-string
IF wCC NOT = SPACES
STRING CommandLine DELIMITED BY " " *> CC
" /CC " delimited by size
wCC delimited by " "
INTO CommandLine
end-string
END-IF
STRING CommandLine DELIMITED BY " "
' /sub "' delimited by size
wSUBJECT delimited by " " *> assunto
'"' delimited by size
INTO CommandLine
end-string
STRING CommandLine DELIMITED BY " "
' /b ' delimited by size *> body
'"' delimited by size
wBODY delimited by " "
'"' delimited by size
into CommandLine
end-string
IF wATTACH NOT = SPACES
STRING CommandLine DELIMITED BY " "
' /a ' delimited by size
'"' delimited by size
wATTACH DELIMITED BY " " *> anexo1
'"' delimited by size
INTO CommandLine
end-string
END-IF
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.
Joseg
23 de marzo de 2021, 00:05
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.
IF wATTACH NOT = SPACES
STRING CommandLine DELIMITED BY " "
' /a ' delimited by size
'"' delimited by size
wATTACH DELIMITED BY " " *> anexo1
'"' delimited by size
INTO CommandLine
end-string
END-IF
IF wATTACH2 NOT = SPACES
STRING CommandLine DELIMITED BY " "
'|' delimited by size
wATTACH2 DELIMITED BY " " *> anexo2
'"' delimited by size
INTO CommandLine
end-string
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).
jmeza
25 de marzo de 2021, 15:55
registrar el ocx y la dll
Joseg, disculpa la pregunta, como registro
registrar el ocx y la dll
Joseg
25 de marzo de 2021, 15:59
Joseg, disculpa la pregunta, como registro
registrar el ocx y la dll
en modo administrador, ejecute: reg.bat
Celina
29 de marzo de 2021, 16:16
IF wATTACH NOT = SPACES
STRING CommandLine DELIMITED BY " "
' /a ' delimited by size
'"' delimited by size
wATTACH DELIMITED BY " " *> anexo1
'"' delimited by size
INTO CommandLine
end-string
END-IF
IF wATTACH2 NOT = SPACES
STRING CommandLine DELIMITED BY " "
'|' delimited by size
wATTACH2 DELIMITED BY " " *> anexo2
'"' delimited by size
INTO CommandLine
end-string
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.
Joseg
29 de marzo de 2021, 18:10
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.
Se a conta de SMPT for do Gmail, tem que configurar a conta para dar acesso a ferramentas de terceiros.
Mas faça o teste diretamente SwithMail .
Ver também isto:
Server error: '454 4.7.1 <mail address sending to> - Microsoft Community (https://answers.microsoft.com/en-us/msoffice/forum/msoffice_outlook-mso_windows8-mso_2010/server-error-454-471-mail-address-sending-to-relay/29cf3de5-bee7-4f15-88c5-728c91fdfb41)
jjcol
29 de diciembre de 2021, 22:24
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.-
como se registra el ocx y la dll
Josber
30 de diciembre de 2021, 12:38
como se registra el ocx y la dll
desde la linea de comandos y, en la misma carpeta en la que tengas la dll, ejecutas
regsvr32 nombre_de_la_dll.dll
y ya está
Un salu2.-
fastpho
30 de diciembre de 2021, 18:26
desde la linea de comandos y, en la misma carpeta en la que tengas la dll, ejecutas
regsvr32 nombre_de_la_dll.dll
y ya está
Un salu2.-
En windows 10 ejecutar como administrador
Saludos
Paulo
4 de mayo de 2022, 17:07
Olá a todos.
Tenho usado Swithmail, é simples e funciona bem com o gmail e os outros.
Mas a 30 de Maio a gmail irá implementar o oAuth 2.0...
Alguém já testou o Swithmail para saber se funciona ?
Ou alternativas funcionais de outro programa similar ?
Obrigado
Gusaiello
5 de mayo de 2022, 17:16
Creo que lo que hay que hacer para que funcione es entrar en la configuración de la cuenta Gmail, en opciones de seguridad, aplicaciones de terceros y permitir el acceso de aplicaciones poco seguras.
Lascu
5 de mayo de 2022, 20:30
A partir del 30 de mayo GMAIL no va a permitir más el acceso de aplicaciones poco seguras. El componente SwithMail dejará de funcionar (con GMAIL por lo menos).
Gusaiello
6 de mayo de 2022, 13:45
Hola @Lascu, ni aún configurándolo para darle acceso a dichas aplicaciones?
Lascu
10 de mayo de 2022, 18:42
@Gusaiello, fijate en GMAIL, dicen que directamente no va a estar más la opción para configurar aplicaciones poco seguras. Yo ya estoy buscando de que manera resolver esto.
fastpho
11 de mayo de 2022, 14:37
Hola @Gusaiello @Lascu, Por que no utilizar como cliente de correo a Thunderbird por ejemplo que soporta la autenticación OAuth2 y realizar los envios de mail.
Saludos ....
Armando
11 de mayo de 2022, 16:09
HOla, como están?
Nosotros estamos probando, la generación de una "App Password", la cual genera una nueva clave.
Para poder usar tienen que:
1) Acceder a la cuenta de Google, Gestionar tu cuenta de Google
2) Activar la verificación en dos pasos, de la Cuenta de Google (Seguridad), la cual te envía una clave al movil asociado para confirmarla.
3) Configurar "App Password" / Contraseña de Aplicaciones / Otra (nombre personalizado) /Generar
Te va a generar una nueva contraseña para usar en las aplicaciones, en tu programa sustituís la clave de la cuenta de google por esta nueva, y con eso quedaría andando.
Igual esperemos que el 01/06/22 todo funcione, hoy con esto hoy anda
Habilitar Aplicaciones no seguras no existe más, por lo que vimos.
saludos
Armando
Gusaiello
11 de mayo de 2022, 20:43
@Lascu, @fastpho, Estas son las cosas que me dan cada vez mas ganas de retirarme!!!!:cens:
Siempre hay que estar nadando contra la corriente.
Solo me faltaría probar lo que propone @Armando y ver si resulta.
fastpho
22 de septiembre de 2022, 18:21
@Gusaiello, @Lascu@Armando
El programa SwithMail, funciona con Gmail año 2022 , realizando ciertos cambios en la cuenta de google
Ingresar en la cuenta que se quiere utilizar para enviar los correos y realizar los siguiente cambios
En el Menu Seguridad Iniciar sesion en Google activando Verificacion en dos pasos , la nueva contraseña
proporcionada debera ser ingresada en Configuracion SwithMail de la seccion PW
784
En este link un video explicativo de como configurar la cuenta de gmail 2022 : https://www.youtube.com/watch?v=kZnTFUvc1ig
Saludos...
Gusaiello
27 de septiembre de 2022, 15:53
@fastpho, EXCELENTE!!! muchas gracias.
vBulletin v3.8.7, Derechos ©2000-2026, Jelsoft Enterprises Ltd.