The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]




Версия для распечатки Пред. тема | След. тема
Новые ответы [ Отслеживать ]
Как послать mail из C-программы?, !*! ukv, 28-Фев-01, 16:34  [смотреть все]
Нужно отправить письмо из С-программы. Слышал, что можно как-то это сделать через pipe (об этом имею смутное представление) как привязать pipe к  sendmail?
Пошел по более простому пути - вызываю из программы mail (execl'ом) и пытаюсь подать ему на стандартный вход файл, который содержит текст сообщения, но переназначение не получается, т.к. параметры вида "< file" воспринимаются mail'ом как адреса и приводят к ошибке. Как переназначить ввод изнутри программы?
Или я вообще иду не той дорогой?

Подскажите пожалуйста.

  • RE: Как послать mail из C-программы?, !*! Z0termaNN, 17:37 , 28-Фев-01 (1)
    да здесь pipe собственно говоря не нужен.
    достаточно передать текст сообщения на стандартный ввод примерно следующим образом:


    close(0); /* or fclose(stdin); */
    fd=open("file",O_RDONLY);
    char *arg[] = {"-s", "subject text",
    "person@somewhere",NULL};
    execl("/bin/mail",arg); /* or sendmail */

    а то что конструкция типа "< file" воспринимается
    как адрес - совершенно правильно, т.к. это применимо только к shell, который с этой конструкцией сам и разбиратеся




Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2024 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру