Route all access to cm_fields[] through api functions
[citadel.git] / citadel / modules / smtp / serv_smtpqueue.c
index 6ff9e35c869292e33b98161296cbffed05a99180..685e2ca7685e8819cb7cbcdb06733d71c15b4b07 100644 (file)
@@ -700,11 +700,11 @@ void smtpq_do_bounce(OneQueItem *MyQItem, StrBuf *OMsgTxt, ParsedURL *Relay)
        bmsg->cm_anon_type = MES_NORMAL;
        bmsg->cm_format_type = FMT_RFC822;
 
-       bmsg->cm_fields[eOriginalRoom] = strdup(MAILROOM);
-       bmsg->cm_fields[eAuthor] = strdup("Citadel");
-       bmsg->cm_fields[eNodeName] = strdup(config.c_nodename);
-       bmsg->cm_fields[eMsgSubject] = strdup("Delivery Status Notification (Failure)");
-       bmsg->cm_fields[eMesageText] = SmashStrBuf(&BounceMB);
+       CM_SetField(bmsg, eOriginalRoom, HKEY(MAILROOM));
+       CM_SetField(bmsg, eAuthor, HKEY("Citadel"));
+       CM_SetField(bmsg, eNodeName, config.c_nodename, strlen(config.c_nodename));
+       CM_SetField(bmsg, eMsgSubject, HKEY("Delivery Status Notification (Failure)"));
+       CM_SetAsFieldSB(bmsg, eMesageText, &BounceMB);
 
        /* First try the user who sent the message */
        if (StrLength(MyQItem->BounceTo) == 0) {