[NEWSboard IBMi Forum]
Seite 1 von 2 1 2 Letzte

Hybrid View

  1. #1
    Registriert seit
    Nov 2004
    Beiträge
    331
    Moin,

    wir haben auch schon den rechten Teil mit einem RPG geprüft, aber bei unseren ca. 3500 Mail-Adressen werden 2 als ungültig ausgewiesen, dennoch kann der Teilnehmer angemailt werden. Scheint eine - bei dem Provider - interne Umleitung zu sein.

    Die Maladresse xx-xxx.de ist ungültig, denn eine DNS prüfung gibt NXDOMAIN zurück. Dennoch kommt die Mail beim Kunden an.

    Den linken Teile prüfen wird nur auf ungültige Zeichen und nur ein @ Zeichen

    mfg

    DKSPROFI

  2. #2
    Registriert seit
    Aug 2014
    Beiträge
    181
    Hallo,

    für die Prüfung gibt es zwei Möglichkeiten

    - mit SQL:

    das Ergebnis von REGEXP_COUNT ist 1 = Pattern 1x gefunden oder 0 = Pattern nicht gefunden

    PHP-Code:
    values (REGEXP_COUNT('rainer_ross@web.de','^[A-Za-z0-9._%-]+@[A-Za-z0-9.-]+\.[A-Za-z]{2,4}$')); 
    - mit den API's regcomp() und regexec()

    In JavaScript sieht es so aus http://webix.com/snippet/11c63f34

    Eine gute Onlineseite ist diese: http://regexr.com/

    Wer das RPG-free-Programm mit den API's haben möchte, spricht mich einfach an.

    Herzliche Grüße

    Rainer

  3. #3
    Registriert seit
    Nov 2004
    Beiträge
    331
    Moin Rainer,

    na, denn spreche ich Dich mal an. Würdest Du es mir zur Verfügung stellen? Leider haben wird nur V7R1.

    mfg

    DKSPROFI

  4. #4
    Registriert seit
    Jan 2016
    Beiträge
    4
    Hallo! Möchte auch gern von dem Angebot Gebrauch machen :-) Auch wir haben V7R1 im Einsatz.

    LG

    Frank

  5. #5
    Registriert seit
    Aug 2014
    Beiträge
    181
    Eine kurze Mail an mich und das Programm ist auf dem Weg rainer_ross@web.de

  6. #6
    Registriert seit
    Aug 2014
    Beiträge
    181
    Hallo,

    die Frage von DKSPROFI war, zu überprüfen, ob eine Mailadresse existiert.

    Für das Versenden von Geschäftsmails nutze ich den Mailprovider www.sendgrid.com - das Versenden wird über einen REST-Service angesprochen, das geht sehr einfach mit HTTPPOSTCLOB.

    Interessant ist hier die Auswertungsmöglichkeit für versendete Mails und zwar, wann sie verarbeitet, zugestellt und geöffnet wurden. Vielleicht ist das eine Prüfmöglichkeit.

    Herzliche Grüße

    Rainer

  7. #7
    Registriert seit
    Nov 2003
    Beiträge
    2.423
    Wie ist das mit Umlauten in einer Emailadresse?

  8. #8
    Registriert seit
    Nov 2004
    Beiträge
    331
    Moin, mal eben versucht: Freemailer lehnen Umlaute ab bzw. machen ue ae oe draus. Wir lehnen Umlaute aber momentan ab. Morgen prüfen wir aber, ob wir das schnell umsetzen mit den Umlauten. Vieleicht hilft Dir das. mfg DKPROFI

  9. #9
    Registriert seit
    Feb 2001
    Beiträge
    20.751
    Ich denke, Umlaute in der Mailadresse müssen ähnlich umgesetzt werden wie Umlaute in Web-Adressen.
    Bei z.B. www.schön-in-haan.de wird aus dem "ö" irgendwas mit "xn...", deshalb machen wir auch eine eigene Umleitung in www.schoen-in-haan.de.
    Dienstleistungen? Die gibt es hier: http://www.fuerchau.de
    Das Excel-AddIn: https://www.ftsolutions.de/index.php/downloads
    BI? Da war doch noch was: http://www.ftsolutions.de

  10. #10
    Registriert seit
    Nov 2004
    Beiträge
    331
    Moin,

    das mit den Umlauten prüfen wir gerade. Aber primär geht es darum, eine gültige Domain Adresse zu prüfen, was mit STRDNSQRY prinzipiel zu 99% funktioniert, aber in Ausnahmefällen aber eben nicht. Hat irgendwas mit dem mx Record zu tun.

    Da suchen wir noch nach einer Möglichkeit, die mx Antwort auszuwerten, bzw. eine richtige Anfrage an - wen auch immer - zu stellen.

    mfg

    DKSPROFI

  11. #11
    Registriert seit
    Jan 2016
    Beiträge
    4
    Kann mir jemand am Beispiel der E-Mail-Adresse max.mustermann@a-xyz.de den Aufruf von STRDNSQRY erläutern? Ich möchte das gern in mein RPG-Programm einbauen, mit dem ich die E-Mail-Adressen einer kompletten Kundendatei überprüfen und das Ergebnis in einem Feld der Dateistruktur zurückschreiben möchte. Ich würde pro Kundensatz ein externes CL-Programm per CALL aufrufen und ggf. das Ergebnis (nur `F` für Fehler) über einen Parameter an das aufrufende RPG-Programm zurückgeben.

  12. #12
    Registriert seit
    Aug 2014
    Beiträge
    181

    GetHostByName

    PHP-Code:
             ctl-opt main(maindftactgrp(*nooption(*nounref);
          
    //------------------------------------------------------------------//
          //                                                                  //
          // GetHostByName                                                    //
          //                                                                  //
          //-----------------                                                 //
          // R.Ross 12.2016 *                                                 //
          //------------------------------------------------------------------//
          // Get Host by Name                                                 //
          //------------------------------------------------------------------//

             
    dcl-pr gethost      pointer extproc('gethostbyname');
                     
    ##host      pointer value options(*string);
             
    end-pr;

          
    //------------------------------------------------------------------//
          // Transform Internet Address to a dottet decimal Format            //
          //------------------------------------------------------------------//

             
    dcl-pr transform    pointer extproc('inet_ntoa');
                     
    ##address   uns(10) value;
             
    end-pr;

          
    //------------------------------------------------------------------//
          // Array - HostEntry                                                //
          //------------------------------------------------------------------//

             
    dcl-s   d#host_p    pointer;

             
    dcl-ds  dshost      based(d#host_p);
                      
    d#name     pointer;
                      
    d#alias    pointer;
                      
    d#addrtyp  int(10);
                      
    d#length   int(10);
                      
    d#addrlist pointer;
             
    end-ds;

             
    dcl-s   d#addr_p    pointer based(d#addrlist);
             
    dcl-s   d#hostaddr  uns(10) based(d#addr_p);

          //------------------------------------------------------------------//
          // Variablen                                                        //
          //------------------------------------------------------------------//

             
    dcl-s   h#host      char(32);
             
    dcl-s   h#ipchar    char(15);
             
    dcl-s   h#ip        uns(10);

          //------------------------------------------------------------------//
          // Main                                                             //
          //------------------------------------------------------------------//
             
    dcl-proc main;

               
    h#host  = 'www.web.de';

               
    d#host_p = gethost(%trim(h#host));

               
    if d#host_p <> *null;
                  
    h#ip     = d#hostaddr;
                  
    h#ipchar = %str(transform(h#ip));
               
    endif;

             
    end-proc;
          
    //------------------------------------------------------------------// 

Similar Threads

  1. Antworten: 2
    Letzter Beitrag: 22-11-15, 10:19
  2. Antworten: 0
    Letzter Beitrag: 15-10-14, 13:43
  3. MAC Adresse einer Ethernetkarte
    By Uwe Kohlberg in forum IBM i Hauptforum
    Antworten: 9
    Letzter Beitrag: 21-08-08, 09:32
  4. Erstellen einer STMF mittels CL-Programm
    By systemer in forum IBM i Hauptforum
    Antworten: 7
    Letzter Beitrag: 19-02-03, 09:33
  5. IP-adresse einer 5250sitzung auffinden
    By karin-vogelmann in forum IBM i Hauptforum
    Antworten: 3
    Letzter Beitrag: 09-11-01, 16:10

Tags for this Thread

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • You may not post attachments
  • You may not edit your posts
  •