From 6f5f315be91b67f5de41b6f7848e0b6337194809 Mon Sep 17 00:00:00 2001 From: emersion Date: Sun, 21 Oct 2018 12:34:47 +0200 Subject: [PATCH] smtp: populate sender from From header --- smtp/smtp.go | 13 ++++++------- 1 file changed, 6 insertions(+), 7 deletions(-) diff --git a/smtp/smtp.go b/smtp/smtp.go index 28b4510..bf7f9a1 100644 --- a/smtp/smtp.go +++ b/smtp/smtp.go @@ -64,7 +64,8 @@ func (u *user) Send(from string, to []string, r io.Reader) error { return errors.New("no recipient specified") } - fromAddrStr := fromList[0].Address + rawFrom := fromList[0] + fromAddrStr := rawFrom.Address var fromAddr *protonmail.Address for _, addr := range u.addrs { if strings.EqualFold(addr.Email, fromAddrStr) { @@ -96,11 +97,6 @@ func (u *user) Send(from string, to []string, r io.Reader) error { return errors.New("sender address key hasn't been decrypted") } - senderAddress := &protonmail.MessageAddress{ - Address: fromAddr.Email, - Name: fromAddr.DisplayName, - } - msg := &protonmail.Message{ ToList: toPMAddressList(toList), CCList: toPMAddressList(ccList), @@ -108,7 +104,10 @@ func (u *user) Send(from string, to []string, r io.Reader) error { Subject: subject, Header: formatHeader(mr.Header), AddressID: fromAddr.ID, - Sender: senderAddress, + Sender: &protonmail.MessageAddress{ + Address: rawFrom.Address, + Name: rawFrom.Name, + }, } // Create an empty draft