Umlenken des Standard-Eingabekanals bei exec



  • Hallo Leute,

    ich hätte heute wieder mal ein Problem.
    Wahrscheinlich liegts nur an meinen zu geringen Programmierkenntnissen.
    Naja, vielleicht kann mir ja jemand helfen

    Ich würde gerne Mails mit exec verschicken.
    Das Problem ist, dass ich zwar mit exec Mails verschicken kann, aber dann der Text jedes Mal über die Console eingegeben werden muss.

    Normalerweise kann man ja mit

    mail .... <textausdatei.txt
    

    die Consoleneingabe auf die Datei umleiten.

    Wie funktioniert das aber mit exec?

    strcpy(matrix[0], "mail");
       strcpy(matrix[1], "-s");
       strcpy(matrix[2], "Betreff");
       strcpy(matrix[3], "-a ");
       strcpy(matrix[4], "Datei.pdf");
       strcpy(matrix[5], "email@address.de);
       matrix[6] = NULL;
    
       pid = fork();
    
       if (pid == 0) {
          execvp(matrix[0], matrix);
       } else {
          waitpid(pid, &status, 0);
          terminierungTextausgabe(&matrix, status);
       }
    

    Was auf alle Fälle leider nicht funktioniert ist, dass ich "<textausdatei.txt" einfach als Argument mit dem exec übergeb.


Anmelden zum Antworten