- if (msg->cm_fields['A'] != NULL) free(msg->cm_fields['A']);
- if (msg->cm_fields['N'] != NULL) free(msg->cm_fields['N']);
- if (msg->cm_fields['H'] != NULL) free(msg->cm_fields['H']);
- if (msg->cm_fields['O'] != NULL) free(msg->cm_fields['O']);
- msg->cm_fields['N'] = strdup(config.c_nodename);
- msg->cm_fields['H'] = strdup(config.c_humannode);
- msg->cm_fields['O'] = strdup(MAILROOM);
-
- msg->cm_fields['A'] =
- ((sSMTP->preferred_sender_name != NULL)
- ? strdup(ChrPtr(sSMTP->preferred_sender_name))
- : strdup(CCC->user.fullname)
- );
+ CM_SetField(msg, eNodeName, config.c_nodename, strlen(config.c_nodename));
+ CM_SetField(msg, eHumanNode, config.c_humannode, strlen(config.c_humannode));
+ CM_SetField(msg, eOriginalRoom, HKEY(MAILROOM));
+ if (sSMTP->preferred_sender_name != NULL)
+ CM_SetFieldSB(msg, eAuthor, sSMTP->preferred_sender_name);
+ else
+ CM_SetField(msg, eAuthor, CCC->user.fullname, strlen(CCC->user.fullname));