Index: /branches/rel_apv_10_7_4/usr/click/bin/eventlogd/eventlogd.c
===================================================================
--- /branches/rel_apv_10_7_4/usr/click/bin/eventlogd/eventlogd.c	(revision 39925)
+++ /branches/rel_apv_10_7_4/usr/click/bin/eventlogd/eventlogd.c	(working copy)
@@ -298,7 +298,12 @@
 
 		/*execute the */
 		if (sys_mail_conf_p->extern_mail_on) {
-			if (execl(SSMTP_PATH, SSMTP_PATH_BIN, alert->email, NULL) < 0) {
+			// TWSD-1320: Pass sender with -f flag to properly set MAIL FROM
+			char sender_addr[512];
+			snprintf(sender_addr, sizeof(sender_addr), "%s@%s",
+				sys_mail_conf_p->from, sys_mail_conf_p->hostname);
+
+			if (execl(SSMTP_PATH, SSMTP_PATH_BIN, "-f", sender_addr, alert->email, NULL) < 0) {
 				printf("Error in %s.\n",SSMTP_PATH_BIN);
 				exit(-1);
 			}
@@ -331,7 +336,13 @@
 	     *
 	     */
 	    if (sys_mail_conf_p->extern_mail_on) {
-		    snprintf(str, sizeof(str), FROM_STR_SSMTP, sys_mail_conf_p->mextern_server.user);
+		    // TWSD-1320: Use from@hostname for From header instead of mextern_server.user
+		    // because SSMTP ignores -f flag and uses From: header with FromLineOverride=YES
+		    char from_addr[512];
+		    snprintf(from_addr, sizeof(from_addr), "%s@%s",
+		        sys_mail_conf_p->from, sys_mail_conf_p->hostname);
+		    snprintf(str, sizeof(str), FROM_STR_SSMTP, from_addr);
+
 		    write(fd[1], str, strlen(str));
 	    } else {
 		    write(fd[1], from, strlen(from));
@@ -440,7 +451,12 @@
 		
 		/*execute the */
 		if (sys_mail_conf_p->extern_mail_on) {
-			if (execl(SSMTP_PATH, SSMTP_PATH_BIN, email, NULL) < 0) {
+			// TWSD-1320: Pass sender with -f flag to properly set MAIL FROM
+			char sender_addr[512];
+			snprintf(sender_addr, sizeof(sender_addr), "%s@%s",
+				sys_mail_conf_p->from, sys_mail_conf_p->hostname);
+
+			if (execl(SSMTP_PATH, SSMTP_PATH_BIN, "-f", sender_addr, email, NULL) < 0) {
 			    printf("Error in %s.\n",SSMTP_PATH_BIN);
 			    exit(-1);
 			}
@@ -472,7 +488,13 @@
 	     *
 	     */
 	    if (sys_mail_conf_p->extern_mail_on) {
-		    snprintf(str, sizeof(str), FROM_STR_SSMTP, sys_mail_conf_p->mextern_server.user);
+		    // TWSD-1320: Use from@hostname for From header instead of mextern_server.user
+		    // because SSMTP ignores -f flag and uses From: header with FromLineOverride=YES
+		    char from_addr[512];
+		    snprintf(from_addr, sizeof(from_addr), "%s@%s",
+		        sys_mail_conf_p->from, sys_mail_conf_p->hostname);
+		    snprintf(str, sizeof(str), FROM_STR_SSMTP, from_addr);
+
 		    write(fd[1], str, strlen(str));
 	    } else {
 		    write(fd[1], from, strlen(from));
