Change summary
config/cache.go | 2 +-
main.go | 14 ++++++++++----
2 files changed, 11 insertions(+), 5 deletions(-)
Detailed changes
@@ -153,7 +153,7 @@ func AddContact(name, email string) error {
return nil
}
- email = strings.ToLower(strings.TrimSpace(email))
+ email = strings.ToLower(strings.Trim(strings.TrimSpace(email), ","))
name = strings.TrimSpace(name)
cache, err := LoadContactsCache()
@@ -752,10 +752,16 @@ func (m *mainModel) Update(msg tea.Msg) (tea.Model, tea.Cmd) {
go func() {
// Save the recipient as a contact
if msg.To != "" {
- // Parse "Name <email>" format
- name, email := parseEmailAddress(msg.To)
- if err := config.AddContact(name, email); err != nil {
- log.Printf("Error saving contact: %v", err)
+ recipients := strings.Split(msg.To, ",")
+ for _, r := range recipients {
+ r = strings.TrimSpace(r)
+ if r == "" {
+ continue
+ }
+ name, email := parseEmailAddress(r)
+ if err := config.AddContact(name, email); err != nil {
+ log.Printf("Error saving contact: %v", err)
+ }
}
}
// Delete the draft since email is being sent