mirror of
https://github.com/wneessen/go-mail.git
synced 2024-11-23 06:10:48 +01:00
Compare commits
2 commits
4b60557518
...
46cf2ed498
Author | SHA1 | Date | |
---|---|---|---|
|
46cf2ed498 | ||
|
79f22fb722 |
2 changed files with 13 additions and 4 deletions
|
@ -138,6 +138,10 @@ func (mw *msgWriter) writeMsg(msg *Msg) {
|
||||||
if msg.hasMixed() {
|
if msg.hasMixed() {
|
||||||
mw.stopMP()
|
mw.stopMP()
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if msg.hasSMime() {
|
||||||
|
mw.stopMP()
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
// writeGenHeader writes out all generic headers to the msgWriter
|
// writeGenHeader writes out all generic headers to the msgWriter
|
||||||
|
@ -341,7 +345,7 @@ func (mw *msgWriter) writeBody(writeFunc func(io.Writer) (int64, error), encodin
|
||||||
encodedWriter = quotedprintable.NewWriter(&writeBuffer)
|
encodedWriter = quotedprintable.NewWriter(&writeBuffer)
|
||||||
} else if encoding == EncodingB64 && !singingWithSMime {
|
} else if encoding == EncodingB64 && !singingWithSMime {
|
||||||
encodedWriter = base64.NewEncoder(base64.StdEncoding, &lineBreaker)
|
encodedWriter = base64.NewEncoder(base64.StdEncoding, &lineBreaker)
|
||||||
} else if encoding == NoEncoding {
|
} else if encoding == NoEncoding || singingWithSMime {
|
||||||
_, err = writeFunc(&writeBuffer)
|
_, err = writeFunc(&writeBuffer)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
mw.err = fmt.Errorf("bodyWriter function: %w", err)
|
mw.err = fmt.Errorf("bodyWriter function: %w", err)
|
||||||
|
|
11
sime.go
11
sime.go
|
@ -16,6 +16,9 @@ var (
|
||||||
// ErrInvalidKeyPair should be used if key pair is invalid
|
// ErrInvalidKeyPair should be used if key pair is invalid
|
||||||
ErrInvalidKeyPair = errors.New("invalid key pair")
|
ErrInvalidKeyPair = errors.New("invalid key pair")
|
||||||
|
|
||||||
|
// ErrInvalidCertificate should be used if a certificate is invalid
|
||||||
|
ErrInvalidCertificate = errors.New("invalid certificate")
|
||||||
|
|
||||||
// ErrCouldNotInitialize should be used if the signed data could not initialize
|
// ErrCouldNotInitialize should be used if the signed data could not initialize
|
||||||
ErrCouldNotInitialize = errors.New("could not initialize signed data")
|
ErrCouldNotInitialize = errors.New("could not initialize signed data")
|
||||||
|
|
||||||
|
@ -46,7 +49,7 @@ func newSMime(keyPair *tls.Certificate) (*SMime, error) {
|
||||||
for _, cert := range keyPair.Certificate[1:] {
|
for _, cert := range keyPair.Certificate[1:] {
|
||||||
c, err := x509.ParseCertificate(cert)
|
c, err := x509.ParseCertificate(cert)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return nil, err
|
return nil, ErrInvalidCertificate
|
||||||
}
|
}
|
||||||
parentCertificates = append(parentCertificates, c)
|
parentCertificates = append(parentCertificates, c)
|
||||||
}
|
}
|
||||||
|
@ -102,8 +105,10 @@ func encodeToPEM(msg []byte) (*string, error) {
|
||||||
}
|
}
|
||||||
|
|
||||||
r := arrayBuffer.String()
|
r := arrayBuffer.String()
|
||||||
r = strings.ReplaceAll(r, "-----BEGIN -----\n", "")
|
r = strings.TrimPrefix(r, "-----BEGIN -----")
|
||||||
r = strings.ReplaceAll(r, "-----END -----\n", "")
|
r = strings.Trim(r, "\n")
|
||||||
|
r = strings.TrimSuffix(r, "-----END -----")
|
||||||
|
r = strings.Trim(r, "\n")
|
||||||
|
|
||||||
return &r, nil
|
return &r, nil
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in a new issue