From 561f4835211be2f6959272d2719186c2580e5491 Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" Date: Fri, 3 Apr 2026 08:02:58 +0200 Subject: [PATCH] fix(email): update Send signature to match Channel interface Channel.Send now returns ([]string, error); update EmailChannel.Send to match the interface so the build no longer fails. Co-Authored-By: Claude Sonnet 4.6 --- pkg/channels/email/email.go | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/pkg/channels/email/email.go b/pkg/channels/email/email.go index 63940bff2..19d359003 100644 --- a/pkg/channels/email/email.go +++ b/pkg/channels/email/email.go @@ -86,17 +86,17 @@ func (c *EmailChannel) Stop(ctx context.Context) error { // Send delivers an outbound message via SMTP. // msg.ChatID is the recipient email address. -func (c *EmailChannel) Send(ctx context.Context, msg bus.OutboundMessage) error { +func (c *EmailChannel) Send(ctx context.Context, msg bus.OutboundMessage) ([]string, error) { if !c.IsRunning() { - return channels.ErrNotRunning + return nil, channels.ErrNotRunning } to := msg.ChatID if to == "" { - return fmt.Errorf("chat ID (recipient address) is empty: %w", channels.ErrSendFailed) + return nil, fmt.Errorf("chat ID (recipient address) is empty: %w", channels.ErrSendFailed) } if strings.TrimSpace(msg.Content) == "" { - return nil + return nil, nil } subject := c.config.DefaultSubject @@ -128,24 +128,24 @@ func (c *EmailChannel) Send(ctx context.Context, msg bus.OutboundMessage) error tlsCfg := &tls.Config{ServerName: c.config.SMTPHost} conn, err := tls.Dial("tcp", addr, tlsCfg) if err != nil { - return fmt.Errorf("smtp tls dial: %w", channels.ErrTemporary) + return nil, fmt.Errorf("smtp tls dial: %w", channels.ErrTemporary) } client, err := smtp.NewClient(conn, c.config.SMTPHost) if err != nil { - return fmt.Errorf("smtp new client: %w", channels.ErrTemporary) + return nil, fmt.Errorf("smtp new client: %w", channels.ErrTemporary) } defer client.Close() if err := sendViaSMTPClient(client, auth, c.config.SMTPFrom, to, []byte(body)); err != nil { - return err + return nil, err } } else { if err := smtp.SendMail(addr, auth, c.config.SMTPFrom, []string{to}, []byte(body)); err != nil { - return fmt.Errorf("smtp send: %w: %w", err, channels.ErrTemporary) + return nil, fmt.Errorf("smtp send: %w: %w", err, channels.ErrTemporary) } } logger.DebugCF("email", "Message sent", map[string]any{"to": to}) - return nil + return nil, nil } func sendViaSMTPClient(client *smtp.Client, auth smtp.Auth, from, to string, body []byte) error {