Use go-message implementation of GenerateMessageID
Now that this is available in the upstream, we no longer need to maintain a parallel implementation.
This commit is contained in:
parent
cffa2365be
commit
8d9d94f0ee
34
lib/msgid.go
34
lib/msgid.go
|
@ -1,34 +0,0 @@
|
||||||
package lib
|
|
||||||
|
|
||||||
// TODO: Remove this pending merge into github.com/emersion/go-message
|
|
||||||
|
|
||||||
import (
|
|
||||||
"bytes"
|
|
||||||
"encoding/binary"
|
|
||||||
"fmt"
|
|
||||||
"math/rand"
|
|
||||||
"os"
|
|
||||||
"time"
|
|
||||||
|
|
||||||
"github.com/martinlindhe/base36"
|
|
||||||
)
|
|
||||||
|
|
||||||
// Generates an RFC 2822-complaint Message-Id based on the informational draft
|
|
||||||
// "Recommendations for generating Message IDs", for lack of a better
|
|
||||||
// authoritative source.
|
|
||||||
func GenerateMessageId() string {
|
|
||||||
var (
|
|
||||||
now bytes.Buffer
|
|
||||||
nonce bytes.Buffer
|
|
||||||
)
|
|
||||||
binary.Write(&now, binary.BigEndian, time.Now().UnixNano())
|
|
||||||
binary.Write(&nonce, binary.BigEndian, rand.Uint64())
|
|
||||||
hostname, err := os.Hostname()
|
|
||||||
if err != nil {
|
|
||||||
hostname = "localhost"
|
|
||||||
}
|
|
||||||
return fmt.Sprintf("<%s.%s@%s>",
|
|
||||||
base36.EncodeBytes(now.Bytes()),
|
|
||||||
base36.EncodeBytes(nonce.Bytes()),
|
|
||||||
hostname)
|
|
||||||
}
|
|
|
@ -15,7 +15,6 @@ import (
|
||||||
"github.com/pkg/errors"
|
"github.com/pkg/errors"
|
||||||
|
|
||||||
"git.sr.ht/~sircmpwn/aerc/config"
|
"git.sr.ht/~sircmpwn/aerc/config"
|
||||||
"git.sr.ht/~sircmpwn/aerc/lib"
|
|
||||||
"git.sr.ht/~sircmpwn/aerc/lib/ui"
|
"git.sr.ht/~sircmpwn/aerc/lib/ui"
|
||||||
"git.sr.ht/~sircmpwn/aerc/worker/types"
|
"git.sr.ht/~sircmpwn/aerc/worker/types"
|
||||||
)
|
)
|
||||||
|
@ -210,7 +209,7 @@ func (c *Composer) PrepareHeader() (*mail.Header, []string, error) {
|
||||||
// Update headers
|
// Update headers
|
||||||
mhdr := (*message.Header)(&header.Header)
|
mhdr := (*message.Header)(&header.Header)
|
||||||
mhdr.SetContentType("text/plain", map[string]string{"charset": "UTF-8"})
|
mhdr.SetContentType("text/plain", map[string]string{"charset": "UTF-8"})
|
||||||
mhdr.SetText("Message-Id", lib.GenerateMessageId())
|
mhdr.SetText("Message-Id", mail.GenerateMessageID())
|
||||||
if subject, _ := header.Subject(); subject == "" {
|
if subject, _ := header.Subject(); subject == "" {
|
||||||
header.SetSubject(c.headers.subject.input.String())
|
header.SetSubject(c.headers.subject.input.String())
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue