summary refs log tree commit diff stats
path: root/commands/account
diff options
context:
space:
mode:
Diffstat (limited to 'commands/account')
-rw-r--r--commands/account/reply.go16
1 files changed, 16 insertions, 0 deletions
diff --git a/commands/account/reply.go b/commands/account/reply.go
index 211af75..06f93f1 100644
--- a/commands/account/reply.go
+++ b/commands/account/reply.go
@@ -5,6 +5,7 @@ import (
 	"errors"
 	"fmt"
 	"io"
+	gomail "net/mail"
 	"strings"
 
 	"github.com/emersion/go-message"
@@ -42,6 +43,8 @@ func Reply(aerc *widgets.Aerc, args []string) error {
 	}
 
 	acct := aerc.SelectedAccount()
+	conf := acct.AccountConfig()
+	us, _ := gomail.ParseAddress(conf.From)
 	store := acct.Messages().Store()
 	msg := acct.Messages().Selected()
 	acct.Logger().Println("Replying to email " + msg.Envelope.MessageId)
@@ -75,6 +78,19 @@ func Reply(aerc *widgets.Aerc, args []string) error {
 					addr.MailboxName, addr.HostName))
 			}
 		}
+		for _, addr := range msg.Envelope.To {
+			address := fmt.Sprintf("%s@%s", addr.MailboxName, addr.HostName)
+			if address == us.Address {
+				continue
+			}
+			if addr.PersonalName != "" {
+				to = append(to, fmt.Sprintf("%s <%s@%s>",
+					addr.PersonalName, addr.MailboxName, addr.HostName))
+			} else {
+				to = append(to, fmt.Sprintf("<%s@%s>",
+					addr.MailboxName, addr.HostName))
+			}
+		}
 	}
 
 	var subject string