Index: /branches/rel_apv_10_7_4/usr/click/lib/libca_mail/sys_mail.c
===================================================================
--- /branches/rel_apv_10_7_4/usr/click/lib/libca_mail/sys_mail.c	(revision 39850)
+++ /branches/rel_apv_10_7_4/usr/click/lib/libca_mail/sys_mail.c	(working copy)
@@ -595,11 +595,12 @@
 	}
 	ssmtp_conf_file_update(conf_p);
 
-	char cmd[256];
+    // TWSD-1320
+	char cmd[512];
 	#ifdef UOS_X86
-	snprintf(cmd, sizeof(cmd), "%s edit_server %s %hu %u", SSMTP_SCRIPT, server_addr, port, use_ssl);
+	snprintf(cmd, sizeof(cmd), "%s edit_server %s %hu %u \"%s\" \"%s\"", SSMTP_SCRIPT, server_addr, port, use_ssl, conf_p->hostname, conf_p->from);
 	#else
-	snprintf(cmd, sizeof(cmd), "%s edit_server %s %u", SSMTP_SCRIPT, tmp_addr, use_ssl);
+	snprintf(cmd, sizeof(cmd), "%s edit_server %s %u \"%s\" \"%s\"", SSMTP_SCRIPT, tmp_addr, use_ssl, conf_p->hostname, conf_p->from);
     #endif
 	
 	if (system(cmd)) {
Index: /branches/rel_apv_10_7_4/usr/click/tools/ssmtp_config.pl
===================================================================
--- /branches/rel_apv_10_7_4/usr/click/tools/ssmtp_config.pl	(revision 39850)
+++ /branches/rel_apv_10_7_4/usr/click/tools/ssmtp_config.pl	(working copy)
@@ -11,12 +11,18 @@
 my $mail_server_ssl;
 my $mail_server_username;
 my $mail_server_password;
+# TWSD-1320
+my $mail_hostname;
+my $mail_from;
 
 if ( $ARGV[0] eq "edit_server") {
     $mail_server_addr = $ARGV[1];
     @str = split(/:/, $ARGV[1]);
     $mail_server_port = @str[1];
     $mail_server_ssl = $ARGV[2];
+    # TWSD-1320
+    $mail_hostname = $ARGV[3];
+    $mail_from = $ARGV[4];
     &edit_server;
 }
 
@@ -40,6 +46,16 @@
 		@word = split(/=/, $line);
 		if (@word[0] eq "mailhub" || @word[0] eq "#mailhub") {
 			print TMP_FILE "mailhub=$mail_server_addr\n";
+		} elsif (@word[0] eq "root" || @word[0] eq "#root") {
+            # TWSD-1320
+			# Set root email address using from@hostname
+			if (defined $mail_from && $mail_from ne "" && defined $mail_hostname && $mail_hostname ne "") {
+				print TMP_FILE "root=$mail_from\@$mail_hostname\n";
+			} elsif (defined $mail_from && $mail_from ne "") {
+				print TMP_FILE "root=$mail_from\n";
+			} else {
+				print TMP_FILE "#root=postmaster\n";
+			}
 		} elsif (@word[0] eq "UseTLS" || @word[0] eq "#UseTLS") {
 			if ($mail_server_ssl == 1) {
 				print TMP_FILE "UseTLS=YES\n";
@@ -48,9 +64,25 @@
 			}
 		} elsif (@word[0] eq "UseSTARTTLS" || @word[0] eq "#UseSTARTTLS") {
 			if ($mail_server_port == 587 && $mail_server_ssl == 1) {
-				print TMP_FILE "UseSTARTTLS=YES\n";    
+				print TMP_FILE "UseSTARTTLS=YES\n";
+			} else {
+				print TMP_FILE "#UseSTARTTLS=YES\n";
+			}
+		} elsif (@word[0] eq "Hostname" || @word[0] eq "#Hostname") {
+			# Set Hostname if provided
+            # TWSD-1320
+			if (defined $mail_hostname && $mail_hostname ne "") {
+				print TMP_FILE "Hostname=$mail_hostname\n";
+			} else {
+				print TMP_FILE "#Hostname=\n";
+			}
+		} elsif (@word[0] eq "RewriteDomain" || @word[0] eq "#RewriteDomain") {
+			# Set RewriteDomain to hostname (domain) if provided
+            # TWSD-1320
+			if (defined $mail_hostname && $mail_hostname ne "") {
+				print TMP_FILE "RewriteDomain=$mail_hostname\n";
 			} else {
-				print TMP_FILE "#UseSTARTTLS=YES\n";    
+				print TMP_FILE "#RewriteDomain=\n";
 			}
 		} else {
 			print TMP_FILE "$line\n";
