int format_type, /* variformat, plain text, MIME... */
char *fake_name, /* who we're masquerading as */
char *subject, /* Subject (optional) */
+ char *supplied_euid, /* ...or NULL if this is irrelevant */
char *preformatted_text /* ...or NULL to read text from client */
) {
char dest_node[SIZ];
}
}
+ if (supplied_euid != NULL) {
+ msg->cm_fields['E'] = strdup(supplied_euid);
+ }
+
if (preformatted_text != NULL) {
msg->cm_fields['M'] = preformatted_text;
}
char recp[SIZ];
char cc[SIZ];
char bcc[SIZ];
+ char supplied_euid[128];
char masquerade_as[SIZ];
int anon_flag = 0;
int format_type = 0;
do_confirm = extract_int(entargs, 6);
extract_token(cc, entargs, 7, '|', sizeof cc);
extract_token(bcc, entargs, 8, '|', sizeof bcc);
+ switch(CC->room.QRdefaultview) {
+ case VIEW_WIKI:
+ extract_token(supplied_euid, entargs, 9, '|', sizeof supplied_euid);
+ break;
+ default:
+ supplied_euid[0] = 0;
+ break;
+ }
/* first check to make sure the request is valid. */
msg = CtdlMakeMessage(&CC->user, recp, cc,
CC->room.QRname, anonymous, format_type,
- masquerade_as, subject, NULL);
+ masquerade_as, subject,
+ ((strlen(supplied_euid) > 0) ? supplied_euid : NULL),
+ NULL);
/* Put together one big recipients struct containing to/cc/bcc all in
* one. This is for the envelope.
int format_type, /* variformat, plain text, MIME... */
char *fake_name, /* who we're masquerading as */
char *subject, /* Subject (optional) */
+ char *supplied_euid, /* ...or NULL if this is irrelevant */
char *preformatted_text /* ...or NULL to read text from client */
);
int CtdlCheckInternetMailPermission(struct ctdluser *who);
CC->room.QRname, 0, FMT_RFC822,
"",
summary_string, /* Use summary for subject */
+ NULL,
reply_message_text);
if (msg != NULL) {
0, FMT_RFC822,
"",
"", /* no subject */
+ NULL,
message_text);
if (msg != NULL) {
CC->room.QRname, 0, FMT_RFC822,
"",
summary_string, /* Use summary for subject */
+ NULL,
request_message_text);
if (msg != NULL) {
8 - Recipient (Bcc: field). This argument is utilized only for private
mail. It is ignored for public messages. It contains, of course, the name
of the recipient(s) of the message.
+ 9 - Exclusive message ID. When a message is submitted with an Exclusive
+message ID, any existing messages with the same ID will automatically be
+deleted. This is only applicable for Wiki rooms; other types of rooms either
+ignore the supplied ID (such as message boards and mailboxes) or derive the
+ID from a UUID native to the objects stored in them (such as calendars and
+address books).
Possible result codes:
OK - The request is valid. (Client did not set the "post" flag, so the