LINUX.ORG.RU

Как отправлять почту из C/C++


0

0

Требуется переписать perl скрипт на C/C++, а он зараза должен отправлять почту. Пересмотрел стандартные библиотеки и ничего подходящего не нашел. Кто такое уже делал помогите.

★★★

1. Самое простое это через system() - вызвать нужную команду типа mail или sendmail 2. Можно коннектиться на порт smtp какого нибудь хоста и отправлять оттуда Первый вариант проще но нужен имеющийся клиент для отправки почты

anonymous
()

1. Самое простое это через system() - вызвать нужную команду типа
mail или sendmail
2. Можно коннектиться на порт smtp какого нибудь хоста и отправлять
оттуда
Первый вариант проще но нужен имеющийся клиент для отправки почты

anonymous
()

Нафига system? Текст письма собираешься из временного файла sendmail-у скармливать?
Есть такая вещь, popen() называется. Делаешь
FILE *f = popen("/usr/sbin/sendmail -t", "w");
fprintf(f, ...); // Загоняешь письмо вместе с заголовками
pclose(f); 

И усе.

Havoc ★★★★
()

Здорово!!! Все получилось. Очень удобно и быстро, странно что в моих справочниках нет этой функции. Всем огромное спасибо за помощь. Вырежу вариант с темплейтами и буду использовать этот, с popen().

Korwin ★★★
() автор топика

Плохой у тебя справочник.
Эта ф-ия даже в C для DOS есть.
А в FreeBSD может создавать двунаправленный поток, а не однонаправленный, как в линухе.
Что меня очень огорчило, когда я в линуксе по привычке сделал popen(cmd, "r+")

Havoc ★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.