*
* This module handles self-service subscription/unsubscription to mail lists.
*
- * Copyright (C) 2002 by Art Cancro and others.
+ * Copyright (C) 2002-2005 by Art Cancro and others.
* This code is released under the terms of the GNU General Public License.
*
*/
listsub_generate_token(token);
- assoc_file_name(filename, sizeof filename, &qrbuf, "netconfigs");
+ assoc_file_name(filename, sizeof filename, &qrbuf, ctdl_netcfg_dir);
/*
* Make sure the requested address isn't already subscribed
urlesc(urlroom, qrbuf.QRname);
snprintf(confirmation_request, sizeof confirmation_request,
- "Content-type: text/html\nMIME-Version: 1.0\n\n"
- "<HTML><BODY>"
+
+ "MIME-Version: 1.0\n"
+ "Content-Type: multipart/alternative; boundary=\"__ctdlmultipart__\"\n"
+ "\n"
+ "This is a multipart message in MIME format.\n"
+ "\n"
+ "--__ctdlmultipart__\n"
+ "Content-type: text/plain\n"
+ "\n"
+ "Someone (probably you) has submitted a request to subscribe\n"
+ "<%s> to the '%s' mailing list.\n"
+ "\n"
+ "Please go here to confirm this request:\n"
+ " %s?room=%s&token=%s&cmd=confirm \n"
+ "\n"
+ "If this request has been submitted in error and you do not\n"
+ "wish to receive the '%s' mailing list, simply do nothing,\n"
+ "and you will not receive any further mailings.\n"
+ "\n"
+ "--__ctdlmultipart__\n"
+ "Content-type: text/html\n"
+ "<HTML><BODY>\n"
"Someone (probably you) has submitted a request to subscribe\n"
"<%s> to the <B>%s</B> mailing list.<BR><BR>\n"
"Please click here to confirm this request:<BR>\n"
- "<A HREF=\"http://%s?room=%s&token=%s&cmd=confirm\">"
- "http://%s?room=%s&token=%s&cmd=confirm</A><BR><BR>\n"
+ "<A HREF=\"%s?room=%s&token=%s&cmd=confirm\">"
+ "%s?room=%s&token=%s&cmd=confirm</A><BR><BR>\n"
"If this request has been submitted in error and you do not\n"
"wish to receive the '%s' mailing list, simply do nothing,\n"
"and you will not receive any further mailings.\n"
- "</BODY></HTML>\n",
+ "</BODY></HTML>\n"
+ "\n"
+ "--__ctdlmultipart__--\n",
+
+ email, qrbuf.QRname,
+ webpage, urlroom, token,
+ qrbuf.QRname,
email, qrbuf.QRname,
webpage, urlroom, token,
quickie_message( /* This delivers the message */
"Citadel",
+ NULL,
email,
NULL,
confirmation_request,
listsub_generate_token(token);
- assoc_file_name(filename, sizeof filename, &qrbuf, "netconfigs");
+ assoc_file_name(filename, sizeof filename, &qrbuf, ctdl_netcfg_dir);
/*
* Make sure there's actually a subscription there to remove
urlesc(urlroom, qrbuf.QRname);
snprintf(confirmation_request, sizeof confirmation_request,
- "Content-type: text/html\nMIME-Version: 1.0\n\n"
- "<HTML><BODY>"
- "Someone (probably you) has submitted a request "
- "to unsubscribe\n"
+
+ "MIME-Version: 1.0\n"
+ "Content-Type: multipart/alternative; boundary=\"__ctdlmultipart__\"\n"
+ "\n"
+ "This is a multipart message in MIME format.\n"
+ "\n"
+ "--__ctdlmultipart__\n"
+ "Content-type: text/plain\n"
+ "\n"
+ "Someone (probably you) has submitted a request to unsubscribe\n"
+ "<%s> from the '%s' mailing list.\n"
+ "\n"
+ "Please go here to confirm this request:\n"
+ " %s?room=%s&token=%s&cmd=confirm \n"
+ "\n"
+ "If this request has been submitted in error and you do not\n"
+ "wish to unsubscribe from the '%s' mailing list, simply do nothing,\n"
+ "and the request will not be processed.\n"
+ "\n"
+ "--__ctdlmultipart__\n"
+ "Content-type: text/html\n"
+ "<HTML><BODY>\n"
+ "Someone (probably you) has submitted a request to unsubscribe\n"
"<%s> from the <B>%s</B> mailing list.<BR><BR>\n"
"Please click here to confirm this request:<BR>\n"
- "<A HREF=\"http://%s?room=%s&token=%s&cmd=confirm\">"
- "http://%s?room=%s&token=%s&cmd=confirm</A><BR><BR>\n"
- "If this request has been submitted in error and you do\n"
- "<i>not</i> wish to unsubscribe from the "
- "'%s' mailing list, simply do nothing,\n"
- "and you will remain subscribed to the list.\n"
- "</BODY></HTML>\n",
+ "<A HREF=\"%s?room=%s&token=%s&cmd=confirm\">"
+ "%s?room=%s&token=%s&cmd=confirm</A><BR><BR>\n"
+ "If this request has been submitted in error and you do not\n"
+ "wish to unsubscribe from the '%s' mailing list, simply do nothing,\n"
+ "and the request will not be processed.\n"
+ "</BODY></HTML>\n"
+ "\n"
+ "--__ctdlmultipart__--\n",
+
+ email, qrbuf.QRname,
+ webpage, urlroom, token,
+ qrbuf.QRname,
email, qrbuf.QRname,
webpage, urlroom, token,
quickie_message( /* This delivers the message */
"Citadel",
+ NULL,
email,
NULL,
confirmation_request,
* Now start scanning this room's netconfig file for the
* specified token.
*/
- assoc_file_name(filename, sizeof filename, &qrbuf, "netconfigs");
+ assoc_file_name(filename, sizeof filename, &qrbuf, ctdl_netcfg_dir);
begin_critical_section(S_NETCONFIGS);
ncfp = fopen(filename, "r+");
if (ncfp != NULL) {
*/
if (success) {
cprintf("%d %d operation(s) confirmed.\n", CIT_OK, success);
+ lprintf(CTDL_NOTICE, "Mailing list: %s %ssubscribed to %s with token %s\n", email, (strlen(address_to_unsubscribe) > 0) ? "un" : "", room, token);
}
else {
cprintf("%d Invalid token.\n", ERROR + ILLEGAL_VALUE);