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"
|
||||
|
||||
"git.sr.ht/~sircmpwn/aerc/config"
|
||||
"git.sr.ht/~sircmpwn/aerc/lib"
|
||||
"git.sr.ht/~sircmpwn/aerc/lib/ui"
|
||||
"git.sr.ht/~sircmpwn/aerc/worker/types"
|
||||
)
|
||||
|
@ -210,7 +209,7 @@ func (c *Composer) PrepareHeader() (*mail.Header, []string, error) {
|
|||
// Update headers
|
||||
mhdr := (*message.Header)(&header.Header)
|
||||
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 == "" {
|
||||
header.SetSubject(c.headers.subject.input.String())
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue