Browse Source

Allows specify the sender used on SMTP conversation with outgoing server.

Carlos Alberto Costa Beppler 6 years ago
parent
commit
0b65e904d8
2 changed files with 10 additions and 1 deletions
  1. 1 0
      config.go
  2. 9 1
      main.go

+ 1 - 0
config.go

@@ -25,6 +25,7 @@ var (
 	remoteHost        = flag.String("remote_host", "smtp.gmail.com:587", "Outgoing SMTP server")
 	remoteUser        = flag.String("remote_user", "", "Username for authentication on outgoing SMTP server")
 	remotePass        = flag.String("remote_pass", "", "Password for authentication on outgoing SMTP server")
+	remoteSender      = flag.String("remote_sender", "", "Sender username for messages on outgoing SMTP server")
 	versionInfo       = flag.Bool("version", false, "Show version information")
 )
 

+ 9 - 1
main.go

@@ -117,10 +117,18 @@ func mailHandler(peer smtpd.Peer, env smtpd.Envelope) error {
 
 	log.Printf("delivering using smarthost %s\n", *remoteHost)
 
+	var sender string
+
+	if *remoteSender == "" {
+		sender = env.Sender
+	} else {
+		sender = *remoteSender
+	}
+
 	err := SendMail(
 		*remoteHost,
 		auth,
-		env.Sender,
+		sender,
 		env.Recipients,
 		env.Data,
 	)