Index: ossp-pkg/petidomo/subscribe.c RCS File: /v/ossp/cvs/ossp-pkg/petidomo/subscribe.c,v rcsdiff -q -kk '-r1.21' '-r1.22' -u '/v/ossp/cvs/ossp-pkg/petidomo/subscribe.c,v' 2>/dev/null --- subscribe.c 2001/01/20 14:08:25 1.21 +++ subscribe.c 2001/01/20 15:03:11 1.22 @@ -303,22 +303,19 @@ fprintf(fh, "%s\n", address); fclose(fh); - /* Send success notification to the originator, the new - subscriber, and the owner. */ + /* Send success notification to the originator and the new subscriber */ if (!strcasecmp(address, originator) == TRUE) - fh = vOpenMailer(envelope, address, owner, NULL); + fh = vOpenMailer(envelope, address, NULL); else - fh = vOpenMailer(envelope, address, originator, owner, NULL); + fh = vOpenMailer(envelope, address, originator, NULL); if (fh != NULL) { fprintf(fh, "From: %s-request@%s (Petidomo Mailing List Server)\n", listname, ListConfig->fqdn); fprintf(fh, "To: %s\n", address); - if (!strcasecmp(address, originator) == TRUE) - fprintf(fh, "Cc: %s\n", owner); - else - fprintf(fh, "Cc: %s, %s\n", originator, owner); + if (strcasecmp(address, originator) == TRUE) + fprintf(fh, "Cc: %s\n", originator); fprintf(fh, "Subject: Petidomo: Request \"subscribe %s %s\"\n", address, listname); if (MailStruct->Message_Id != NULL) fprintf(fh, "In-Reply-To: %s\n", MailStruct->Message_Id); @@ -350,10 +347,45 @@ } else { - syslog(LOG_ERR, "Failed to send email to \"%s\"!", owner); + syslog(LOG_ERR, "Failed to send email to \"%s\"!", address); return -1; } + /* Send success notification to the list owner */ + + fh = vOpenMailer(envelope, owner, NULL); + if (fh != NULL) { + fprintf(fh, "From: %s-request@%s (Petidomo Mailing List Server)\n", + listname, ListConfig->fqdn); + fprintf(fh, "To: %s\n", owner); + fprintf(fh, "Subject: Petidomo: SUBSCRIBE %s@%s: %s\n", listname, ListConfig->fqdn, address); + if (MailStruct->Message_Id != NULL) + fprintf(fh, "In-Reply-To: %s\n", MailStruct->Message_Id); + fprintf(fh, "Precedence: junk\n"); + fprintf(fh, "Sender: %s\n", envelope); + fprintf(fh, "\n"); + if (!strcasecmp(address, originator) == TRUE) { + buffer = text_easy_sprintf( + "Per request from the subscriber, the address \"%s\"\n" + "has been subscribed to the \"%s\" mailing list.\n", + address, listname, ListConfig->fqdn); + } + else { + buffer = text_easy_sprintf( + "Per request from \"%s\", the address \"%s\"\n" + "has been subscribed to the \"%s\" mailing list.\n", + originator, address, listname, ListConfig->fqdn); + } + text_wordwrap(buffer, 75); + fprintf(fh, "%s\n", buffer); + fprintf(fh, "No action is required on your part.\n"); + CloseMailer(fh); + } + else { + syslog(LOG_ERR, "Failed to send email to \"%s\"!", owner); + return -1; + } + /* Send introduction text to the new member. */ p = loadfile(ListConfig->intro_file); Index: ossp-pkg/petidomo/unsubscribe.c RCS File: /v/ossp/cvs/ossp-pkg/petidomo/unsubscribe.c,v rcsdiff -q -kk '-r1.19' '-r1.20' -u '/v/ossp/cvs/ossp-pkg/petidomo/unsubscribe.c,v' 2>/dev/null --- unsubscribe.c 2001/01/20 13:52:41 1.19 +++ unsubscribe.c 2001/01/20 15:03:11 1.20 @@ -308,22 +308,19 @@ fprintf(fh, "%s", p); fclose(fh); - /* Send success notification to the originator, and the - unsubscribed address. */ + /* Send success notification to the originator and the unsubscribed address */ if (!strcasecmp(address, originator) == TRUE) - fh = vOpenMailer(envelope, address, owner, NULL); + fh = vOpenMailer(envelope, address, NULL); else - fh = vOpenMailer(envelope, address, originator, owner, NULL); + fh = vOpenMailer(envelope, address, originator, NULL); if (fh != NULL) { fprintf(fh, "From: %s-request@%s (Petidomo Mailing List Server)\n", listname, ListConfig->fqdn); fprintf(fh, "To: %s\n", address); - if (!strcasecmp(address, originator) == TRUE) - fprintf(fh, "Cc: %s\n", owner); - else - fprintf(fh, "Cc: %s, %s\n", originator, owner); + if (strcasecmp(address, originator) == TRUE) + fprintf(fh, "Cc: %s\n", originator); fprintf(fh, "Subject: Petidomo: Request \"unsubscribe %s %s\"\n", address, listname); if (MailStruct->Message_Id != NULL) fprintf(fh, "In-Reply-To: %s\n", MailStruct->Message_Id); @@ -348,10 +345,46 @@ } else { - syslog(LOG_ERR, "Failed to send email to \"%s\"!", owner); + syslog(LOG_ERR, "Failed to send email to \"%s\"!", address); return -1; } } + + /* Send success notification to the list owner */ + + fh = vOpenMailer(envelope, owner, NULL); + if (fh != NULL) { + fprintf(fh, "From: %s-request@%s (Petidomo Mailing List Server)\n", + listname, ListConfig->fqdn); + fprintf(fh, "To: %s\n", owner); + fprintf(fh, "Subject: Petidomo: UNSUBSCRIBE %s@%s: %s\n", listname, ListConfig->fqdn, address); + if (MailStruct->Message_Id != NULL) + fprintf(fh, "In-Reply-To: %s\n", MailStruct->Message_Id); + fprintf(fh, "Precedence: junk\n"); + fprintf(fh, "Sender: %s\n", envelope); + fprintf(fh, "\n"); + if (!strcasecmp(address, originator) == TRUE) { + buffer = text_easy_sprintf( + "Per request from the subscriber, the address \"%s\"\n" + "has been unsubscribed from the \"%s\" mailing list.\n", + address, listname, ListConfig->fqdn); + } + else { + buffer = text_easy_sprintf( + "Per request from \"%s\", the address \"%s\"\n" + "has been unsubscribed from the \"%s\" mailing list.\n", + originator, address, listname, ListConfig->fqdn); + } + text_wordwrap(buffer, 75); + fprintf(fh, "%s\n", buffer); + fprintf(fh, "No action is required on your part.\n"); + CloseMailer(fh); + } + else { + syslog(LOG_ERR, "Failed to send email to \"%s\"!", owner); + return -1; + } + free(list); return 0; }