diff --git a/filesender.go b/filesender.go
index b1c3dc9..b20a8e9 100644
--- a/filesender.go
+++ b/filesender.go
@@ -110,7 +110,7 @@ func (ps FileSender) Send(m mail.Message) error {
)
var re = regexp.MustCompile(cc.replaceRegexp)
- content := re.ReplaceAllString(v.Content, header)
+ content := re.ReplaceAllString(v.Content, fmt.Sprintf("$1\n%v\n$2$3", header))
path, err := ps.saveEmailBody(content, fmt.Sprint(index), m)
if err != nil {
diff --git a/mailopen_test.go b/mailopen_test.go
index daa1be6..3e936b7 100644
--- a/mailopen_test.go
+++ b/mailopen_test.go
@@ -1,12 +1,12 @@
package mailopen_test
import (
+ _ "embed"
"fmt"
"io/ioutil"
"os"
"path"
"path/filepath"
- "strings"
"testing"
"github.com/gobuffalo/buffalo/mail"
@@ -22,13 +22,9 @@ func (ps falseSender) Send(m mail.Message) error {
return nil
}
-const (
- txtFormat = `From: %v
- To: %v
- Cc: %v
- Bcc: %v
- Subject: %v
- ----------------------------`
+var (
+ //go:embed plain-header.txt
+ txtFormat string
)
func Test_Send(t *testing.T) {
@@ -47,7 +43,7 @@ func Test_Send(t *testing.T) {
m.Bodies = []mail.Body{
{ContentType: "text/html", Content: "
Some Message
"},
- {ContentType: "text/plain", Content: "Same message"},
+ {ContentType: "text/plain", Content: "Some message"},
}
m.Attachments = []mail.Attachment{
@@ -65,31 +61,31 @@ func Test_Send(t *testing.T) {
r.FileExists(htmlFile)
r.FileExists(txtFile)
- txtHeader, err := ioutil.ReadFile(htmlFile)
+ htmlContent, err := ioutil.ReadFile(htmlFile)
r.NoError(err)
- r.Contains(string(txtHeader), m.From)
- r.Contains(string(txtHeader), m.To[0])
- r.Contains(string(txtHeader), m.CC[0])
- r.Contains(string(txtHeader), m.Bcc[0])
- r.Contains(string(txtHeader), m.Subject)
+ r.Contains(string(htmlContent), m.From)
+ r.Contains(string(htmlContent), m.To[0])
+ r.Contains(string(htmlContent), m.CC[0])
+ r.Contains(string(htmlContent), m.Bcc[0])
+ r.Contains(string(htmlContent), m.Subject)
+ r.Contains(string(htmlContent), "Some Message")
for _, a := range m.Attachments {
- r.Contains(string(txtHeader), a.Name)
+ r.Contains(string(htmlContent), a.Name)
}
- txtHeader, err = ioutil.ReadFile(txtFile)
+ txtContent, err := ioutil.ReadFile(txtFile)
r.NoError(err)
- r.Contains(string(txtHeader), m.From)
- r.Contains(string(txtHeader), m.To[0])
- r.Contains(string(txtHeader), m.CC[0])
- r.Contains(string(txtHeader), m.Bcc[0])
- r.Contains(string(txtHeader), m.Subject)
-
- format := strings.ReplaceAll(txtFormat, "\t", "")
+ r.Contains(string(txtContent), m.From)
+ r.Contains(string(txtContent), m.To[0])
+ r.Contains(string(txtContent), m.CC[0])
+ r.Contains(string(txtContent), m.Bcc[0])
+ r.Contains(string(txtContent), m.Subject)
+ r.Contains(string(txtContent), "Some message")
- r.Equal(string(txtHeader), fmt.Sprintf(format, m.From, m.To[0], m.CC[0], m.Bcc[0], m.Subject))
+ r.Contains(string(txtContent), fmt.Sprintf(txtFormat, m.From, m.To[0], m.CC[0], m.Bcc[0], m.Subject))
}
func Test_SendWithOptionsOnlyHTML(t *testing.T) {