602SQL-Úplná dokumentace Index  

Příklad odesílání zásilky

Příklad v SQL na serveru:

(funkce pro spolupráci s poštou nevyvolají výjimku - nelze zachytit handlerem)

PROCEDURE OdesliMail();
BEGIN
   DECLARE Letter, Err INT;
   DECLARE CrLf  CHAR(2) DEFAULT Chr(13)+Chr(10);
   DECLARE Dopis NCLOB;
   SET Letter = 0;
   SET Err = InitWBMail('sql602test', NULL);
   IF Err = 0 THEN BEGIN
//  tělo i věc dopisu jsou s diakritikou
      SET dopis = 'Data naměřená dne '||Date2str(Today,1)||Crlf||'---------------------------'||CrLf;
      SET Err = LetterCreateW('Naměřená data ('||Date2str(Today,1)||')', dopis, 2+4, Letter);
   END; 
   END IF;
   IF Err = 0 THEN
      SET Err = LetterAddAddr(Letter,'NTserver@software602.cz','SMTP',FALSE);
   END IF;
   IF Err = 0 THEN
      SET Err = LetterAddFile(Letter, 'c:\temp\data.tdt');
//      SET Err = LetterAddFile(Letter, '/var/temp/data.tdt');   // na Linuxu
   END IF;
   IF Err = 0 THEN
   BEGIN
      SET Err = LetterSend(Letter);
      SET Letter = 0;
   END;
   END IF;
   IF Err <> 0 THEN
   BEGIN
      CALL Log_write('Chyba při odesílání pošty ' + int2str(Err));
      IF Letter <> 0 THEN
         CALL LetterCancel(Letter);
      END IF;
   END;
   END IF;
   CALL CloseWBMail();
END
Poznámky: