Cobol en español
  Página de Inicio Recomiéndala Contáctame Usuarios en Linea
17
     Crea Una cuenta  
Video 1
Video 2
Video 3

Si te ha servido la web
o te han gustado los videos, colabora haciendo click en el botón.

MANUALES
TEMATICOS
BASES DE DATOS
COBOL / WINDOWS
COBOL / UNIX
HISTORIA /DOCS
 
BUSCADOR
PROGRAMANDO-Dos
TRUCOS
AÑO 2.000
TEORIA POWCOB-3
PROG. POWCOB-3
TEORIA POWCOB-5
PROG. POWCOB-5
OCX-ESCOBOL
RUTINAS/MANUALES
OCX / JUEGOS
HERRAMIENTAS
COMPILADORES
ENCUESTAS
ENLACES
FOROS
TOP 10

CHAT   Usuarios: 0
Trucos
TEMARIONúmeros Aleatorios
Sec. Escape a Impresoras
Imp. ¿Pantalla o Impresora?
Dibujar Cuadros o Líneas
Años Bisiestos
Ventana de Opciones
Campos Tipo Hora
Busqueda de Cadenas
Mandar un e-mail
Pequeño Editor Texto
Día de la Semana
Registros / Fichero
ListBox en modo caracter

Mandar un e-mail

(931 palabras totales en este texto)
(18408 Lecturas)   Versión Imprimible



En realidad lo que vamos a hacer con este truco que nos ha facilitado un programador amigo llamado José Mari, es invocar con un CALL, a nuestro programa de correo electrónico para que nos muestre una ventana para escribir un mensaje nuevo.

El truco va a estar explicado para hacerlo con Outlook Express (OE), pero podréis hacer lo mismo con cualquier otro, cambiando algunos de los parámetros.

Lo primero que debemos de hacer es averiguar donde se encuentra ubicado el programa en nuestro disco duro, si utilizamos OE, éste se encontrará en " C:Archivos de ProgramaOutlook ExpressMsimn.exe".

Una vez tengamos la ruta solo tendremos que hacer un CALL ha dicho lugar, pero tenemos que tener en cuenta que si lo hacemos desde MS-DOS, para éste sistema los nombres de archivo o carpetas no pueden tener mas de 8 caracteres, por lo que la ruta completa podría quedar así:  " C:ARCHIV~1OUTLOO~1MSIMN.EXE". 

Ahora por último nos queda pasarle los parámetros necesarios, para que en vez de abrir el programa nos abra solo una ventana con un mensaje nuevo. Esto se consigue añadiendo lo siguiente: /mailurl:mailto:direccion_de_correo y si además queremos que el asunto también vaya indicado añadimos lo siguiente a continuación de la dirección de correo y sin espacios:
?subject=asunto.

Ahora veamos como quedaría nuestro programa, imaginaos por ejemplo en vuestro programa de mantenimiento de clientes o proveedores que incorporáis una opción para enviar correo electrónico y que por supuesto tenéis su dirección electrónica como algún campo de su registro:

...
ENVIRONMENT DIVISION.
INPUT-OUTPUT SECTION.
FILE-CONTROL.
SELECT CLIENTES ASSIGN TO RANDOM "clientes.dat"
       ORGANIZATION INDEXED ACCESS DYNAMIC RECORD KEY KEYCLI.
DATA DIVISION.
FILE SECTION.
FD   CLIENTES LABEL RECORD STANDARD.
01   REGCLI.
      02  KEYCLI.
           03  CLICOD PIC 9(4).
      02  CLINOM      PIC X(30).
      02  CLIDOM      PIC X(30).
      02  CLIPOB       PIC X(30).
      ...
      02  CLIMAI       PIC X(30) (correo electrónico)
      ...
WORKING-STORAGE SECTION.
01  LLAMADA.
     02  FILLER  PIC X(30) VALUE "c:archiv~1outloo~1msimn.exe".
     02  FILLER  PIC X(17) VALUE " /mailurl:mailto:"
     02  LLAMAI PIC X(30).
01  OP            PIC X.
...
PROCEDURE DIVISION.
INICIO.
     ...
     ...
OPCIONES.
     DISPLAY "(M)ANDAR CORREO" LINE 20 COL 10 LOW REVERSE.
     ACCEPT OP LINE 20 COL 12 PROMPT.
     IF OP = "M" GO MANDARCORREO.
     ...
     ...
MANDARCORREO.
    MOVE CLIMAI TO LLAMAI.
    CALL "SYSTEM" USING LLAMADA.
    ...


Para mandarme un mensaje a mi, por ejemplo podemos hacerlo mas fácil:

CALL "SYSTEM" USING "C:ARCHIV~1OUTLOO~1MSIMN.EXE /mailurl:mailto:andres@escobol.com?subject=Hola Andres".

Fijaros de que manera mas fácil podemos hacer que nuestro programa sea un ciberprograma.

Carlos, ha descubierto un poco mas sobre la instrucción y ahora podemos añadirte también el cuerpo del mensaje, unicament insertando &body=cuerpo_del_mensaje justo después del subject, sin dejar espacios.

A próposito de éste tema, nuestro amigo Muñoz, S. nos propone un programita para enviar mail's entre usuarios de Unix / Linux.

identification division.
program-id. Mail.
environment division.
configuration section.
special-names.
           decimal-point is comma.
input-output section.
data division.
working-storage section.
01  parametros       pic x(250).
01  string-mail.
     02 filler          pic x(09) value "mailx -s ".
     02 filler          pic x(01) value '"'.
     02 asunto      pic x(30) value spaces.
     02 filler          pic x(02) value '" '.
     02 usuario      pic x(30) value spaces.
     02 filler          pic x(03) value " < ".
     02 mensaje     pic x(47) value spaces.
     02 filler          pic x(12) value " > /dev/null".
procedure division.
parrafo-principal.
        accept parametros from command-line
        unstring parametros delimited by ","
                   into asunto, usuario, mensaje.
        display string-mail
        call "system" using string-mail
        stop run.

Donde: mailx es el comando de Unix/Linux que envia los mail.

Los parámetros de entrada al programa en este caso deben estar separados por coma (,).

   Inicio de Página   
Sitio desarrollado con PHP-Nuke. Todos los Derechos Reservados.
PHP-Nuke es un Software Libre realizado con licencia GNU/GPL.
Página creada en Junio de 1.998, con el proposito de difundir el lenguaje Cobol en nuestra lengua.
Andres Montes [98/11]