smtp: set ExternalID when creating draft
Re-use the client's Message-Id header when creating a new draft. This allows In-Reply-To to work as expected in subsequent messages. Closes: https://github.com/emersion/hydroxide/issues/186
This commit is contained in:
parent
c6c1d6ca19
commit
b122ca8a1f
|
@ -135,6 +135,11 @@ func (s *session) Data(r io.Reader) error {
|
||||||
return errors.New("sender address key hasn't been decrypted")
|
return errors.New("sender address key hasn't been decrypted")
|
||||||
}
|
}
|
||||||
|
|
||||||
|
msgID, err := mr.Header.MessageID()
|
||||||
|
if err != nil {
|
||||||
|
return fmt.Errorf("failed to parse Message-Id: %v", err)
|
||||||
|
}
|
||||||
|
|
||||||
msg := &protonmail.Message{
|
msg := &protonmail.Message{
|
||||||
ToList: toPMAddressList(toList),
|
ToList: toPMAddressList(toList),
|
||||||
CCList: toPMAddressList(ccList),
|
CCList: toPMAddressList(ccList),
|
||||||
|
@ -142,6 +147,7 @@ func (s *session) Data(r io.Reader) error {
|
||||||
Subject: subject,
|
Subject: subject,
|
||||||
Header: formatHeader(mr.Header),
|
Header: formatHeader(mr.Header),
|
||||||
AddressID: fromAddr.ID,
|
AddressID: fromAddr.ID,
|
||||||
|
ExternalID: msgID,
|
||||||
Sender: &protonmail.MessageAddress{
|
Sender: &protonmail.MessageAddress{
|
||||||
Address: rawFrom.Address,
|
Address: rawFrom.Address,
|
||||||
Name: rawFrom.Name,
|
Name: rawFrom.Name,
|
||||||
|
|
Loading…
Reference in New Issue