X-Git-Url: https://code.citadel.org/?p=citadel.git;a=blobdiff_plain;f=citadel%2Fmodules%2Fnetwork%2Fserv_netmail.c;fp=citadel%2Fmodules%2Fnetwork%2Fserv_netmail.c;h=c4038869f7613a414fad4ab8de92bbfd62cf41bc;hp=a1938c64cbcfbe949d31c5c4df14d7bd081a47df;hb=19576adee6e0a5fb959f8506eb68e31be590fe94;hpb=f0e4b5bde1396c4282a085d3e2af12ce9c0cf223 diff --git a/citadel/modules/network/serv_netmail.c b/citadel/modules/network/serv_netmail.c index a1938c64c..c4038869f 100644 --- a/citadel/modules/network/serv_netmail.c +++ b/citadel/modules/network/serv_netmail.c @@ -237,13 +237,24 @@ void network_process_digest(SpoolControl *sc, struct CtdlMessage *omsg, long *de struct CtdlMessage *msg = NULL; - /* - * Process digest recipients - */ - if ((sc->Users[digestrecp] == NULL)|| - (sc->digestfp == NULL)) + if (sc->Users[digestrecp] == NULL) return; + /* If there are digest recipients, we have to build a digest */ + if (sc->digestfp == NULL) { + + sc->digestfp = create_digest_file(&sc->room, 1); + + if (sc->digestfp == NULL) + return; + + sc->haveDigest = ftell(sc->digestfp) > 0; + if (!sc->haveDigest) { + fprintf(sc->digestfp, "Content-type: text/plain\n\n"); + } + sc->haveDigest = 1; + } + msg = CM_Duplicate(omsg); if (msg != NULL) { sc->haveDigest = 1;