#include "strgen.h"
#include "log_error.h"
#include "chomp.h"
-#include "wrappers.h"
#include "mygetline.h"
#include "prepstdreply.h"
#include "memory.h"
+#include "send_mails.h"
struct subs_list_state;
}
-void send_list(struct mlmmj_list *list, const char *emailaddr,
- const char *mlmmjsend)
+void send_list(struct mlmmj_list *list, const char *emailaddr)
{
text *txt;
subs_list_state *normalsls, *digestsls, *nomailsls;
char *queuefilename;
+ struct mail_headers mh;
char *fromaddr;
- int fd;
+ int fd, queuefd;;
myasprintf(&fromaddr, "%s%sbounces-help@%s", list->name, list->delim, list->fqdn);
queuefilename = prepstdreply(txt, list, "$listowner$", emailaddr, NULL, false);
MY_ASSERT(queuefilename);
close_text(txt);
+ queuefd = openat(list->queuefd, queuefilename, O_RDONLY);
/* DEPRECATED */
/* Add lists manually if they weren't encountered in the list text */
finish_subs_list(digestsls);
finish_subs_list(nomailsls);
- execlp(mlmmjsend, mlmmjsend,
- "-l", "1",
- "-L", list->dir,
- "-T", emailaddr,
- "-F", fromaddr,
- "-m", queuefilename, (char *)NULL);
-
- log_error(LOG_ARGS, "execlp() of '%s' failed", mlmmjsend);
+ memset(&mh, 0, sizeof(mh));
+ mh.to = emailaddr;
+ mh.from = fromaddr;
+ if (send_single_mail(list, &mh, queuefd, queuefilename))
+ exit(EXIT_SUCCESS);
exit(EXIT_FAILURE);
}