- ioutil.WriteFile(fn+".txt", comment, os.FileMode(0600))
- go notify(fnOrig, fn, n, string(comment))
+
+ if _, err = wr.WriteFields(
+ recfile.Field{Name: "Filename", Value: fnOrig},
+ ); err != nil {
+ log.Println(r.RemoteAddr, tai, fnOrig, n, sum, err)
+ return
+ }
+
+ var commentLines []string
+ p, err = mr.NextPart()
+ if err == nil && p.FormName() == CommentFieldName {
+ comment, err := io.ReadAll(p)
+ if err == nil && len(comment) > 0 {
+ commentLines = strings.Split(string(comment), "\n")
+ wr.WriteFieldMultiline("Comment", commentLines)
+ }
+ }
+
+ os.WriteFile(tai+".rec", rec.Bytes(), os.FileMode(0666))
+ if *NotifyToAddr == "" {
+ return
+ }
+ cmd := exec.Command(SendmailCmd, *NotifyToAddr)
+ cmd.Stdin = io.MultiReader(
+ strings.NewReader(fmt.Sprintf(
+ `From: %s
+To: %s
+Subject: %s
+MIME-Version: 1.0
+Content-Type: text/plain; charset=utf-8
+Content-Transfer-Encoding: base64
+
+`,
+ *NotifyFromAddr,
+ *NotifyToAddr,
+ mime.BEncoding.Encode("UTF-8", fmt.Sprintf("%s (%d KiB)", fnOrig, n/1024)),
+ )),
+ strings.NewReader(base64.StdEncoding.EncodeToString(rec.Bytes())),
+ )
+ Jobs.Add(1)
+ go func() {
+ cmd.Run()
+ Jobs.Done()
+ }()