Требуется переписать perl скрипт на C/C++, а он зараза должен отправлять почту. Пересмотрел стандартные библиотеки и ничего подходящего не нашел. Кто такое уже делал помогите.
1. Самое простое это через system() - вызвать нужную команду типа mail или sendmail 2. Можно коннектиться на порт smtp какого нибудь хоста и отправлять оттуда Первый вариант проще но нужен имеющийся клиент для отправки почты
1. Самое простое это через system() - вызвать нужную команду типа
mail или sendmail
2. Можно коннектиться на порт smtp какого нибудь хоста и отправлять
оттуда
Первый вариант проще но нужен имеющийся клиент для отправки почты
Нафига system? Текст письма собираешься из временного файла sendmail-у скармливать?
Есть такая вещь, popen() называется. Делаешь
FILE *f = popen("/usr/sbin/sendmail -t", "w");
fprintf(f, ...); // Загоняешь письмо вместе с заголовками
pclose(f);
И усе.
Здорово!!! Все получилось. Очень удобно и быстро, странно что в моих справочниках нет этой функции. Всем огромное спасибо за помощь. Вырежу вариант с темплейтами и буду использовать этот, с popen().
Плохой у тебя справочник.
Эта ф-ия даже в C для DOS есть.
А в FreeBSD может создавать двунаправленный поток, а не однонаправленный, как в линухе.
Что меня очень огорчило, когда я в линуксе по привычке сделал popen(cmd, "r+")