return;
}
- CM_SetField(msg, eAuthor, CCC->user.fullname, strlen(CCC->user.fullname));
- 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));
if (!validemail) {
- CM_SetField(msg, erFc822Addr, CCC->cs_inet_email, strlen(CCC->cs_inet_email));
- if (msg->cm_fields['F'] != NULL) free(msg->cm_fields['F']);
- msg->cm_fields['F'] =
- ((sSMTP->preferred_sender_email != NULL)
- ? strdup(ChrPtr(sSMTP->preferred_sender_email))
- : strdup(CCC->cs_inet_email)
- );
++ if((sSMTP->preferred_sender_email != NULL)
++ CM_SetFieldSB(msg, erFc822Addr, sSMTP->preferred_sender_email))
++ else
++ CM_SetField(msg, erFc822Addr, CCC->cs_inet_email, strlen(CCC->cs_inet_email));
}
}
StrBufAppendBufPlain(BounceMB, HKEY("--"), 0);
StrBufAppendBuf(BounceMB, boundary, 0);
StrBufAppendBufPlain(BounceMB, HKEY("--\r\n"), 0);
- if (bmsg->cm_fields['M'] != NULL)
- free(bmsg->cm_fields['M']);
- bmsg->cm_fields['M'] = SmashStrBuf(&BounceMB);
+ CM_SetAsFieldSB(bmsg, eMesageText, &BounceMB);
++
/* Deliver the bounce if there's anything worth mentioning */
syslog(LOG_DEBUG, "num_bounces = %d\n", num_bounces);
if (num_bounces > 0) {