-static gint send_message_with_command(GSList *to_list, gchar * mailcmd,
- FILE * fp)
-{
- FILE * p;
- int len;
- gchar * cmdline;
- GSList *cur;
- gchar buf[BUFFSIZE];
-
- len = strlen(mailcmd);
- for (cur = to_list; cur != NULL; cur = cur->next)
- len += strlen((gchar *)cur->data) + 1;
-
- cmdline = g_new(gchar, len + 1);
- strcpy(cmdline, mailcmd);
-
- for (cur = to_list; cur != NULL; cur = cur->next) {
- cmdline = strncat(cmdline, " ", len);
- cmdline = strncat(cmdline, (gchar *)cur->data, len);
- }
-
- log_message(_("Using command to send mail: %s ...\n"), cmdline);
-
- p = popen(cmdline, "w");
- if (p != NULL) {
- while (fgets(buf, sizeof(buf), fp) != NULL) {
- strretchomp(buf);
-
- /* escape when a dot appears on the top */
- if (buf[0] == '.')
- fputs(".", p);
-
- fputs(buf, p);
- fputs("\n", p);
- }
- pclose(p);
- }
-
- log_message(_("Mail sent successfully ...\n"));
-
- return 0;
-}
-