Merge branch 'decke:master' into master

This commit is contained in:
Sergey Zonov
2023-07-22 13:41:50 +07:00
committed by GitHub
5 changed files with 47 additions and 33 deletions

12
main.go
View File

@@ -3,6 +3,7 @@ package main
import (
"bytes"
"crypto/tls"
"fmt"
"net"
"net/textproto"
"os"
@@ -188,7 +189,16 @@ func mailHandler(peer smtpd.Peer, env smtpd.Envelope) error {
var stdout bytes.Buffer
var stderr bytes.Buffer
cmd := exec.Command(*command)
environ := os.Environ()
environ = append(environ, fmt.Sprintf("%s=%s", "SMTPRELAY_FROM", env.Sender))
environ = append(environ, fmt.Sprintf("%s=%s", "SMTPRELAY_TO", env.Recipients))
environ = append(environ, fmt.Sprintf("%s=%s", "SMTPRELAY_PEER", peerIP))
cmd := exec.Cmd{
Env: environ,
Path: *command,
}
cmd.Stdin = bytes.NewReader(env.Data)
cmd.Stdout = &stdout
cmd.Stderr = &stderr