Skip to content

[Bug] 当邮件服务器的登录名格式与邮箱地址不一致时会失败。 #660

Description

@yembors64632

Affected Component

Backend (Python/FastAPI)

Description

邮件通道目前使用 address 字段同时作为:

  1. IMAP/SMTP 的登录用户名
  2. 发送邮件时的 From 地址

当邮件服务器的登录名格式与邮箱地址不一致时会失败。例如:
Exchange 服务器要求用裸用户名 username 登录,但 username@cxtc.com 被拒。

同时 validate_config 要求 address 必须是合法邮箱格式,
无法直接将 address 设为 username

Steps to Reproduce

建议

新增 username 配置字段。如果未设置,默认 fallback 到 address(向后兼容)。
所有 IMAP/SMTP 登录使用 usernameaddress 仅用于 From 头和邮箱校验。

涉及文件

  • flocks/channel/builtin/email/config.pyresolved_config() 新增
    username 提取逻辑,默认 fallback 到 address
  • flocks/channel/builtin/email/channel.py — 4 处登录调用:
    cfg["address"]cfg["username"]
    • _test_connections (IMAP + SMTP)
    • _fetch_new_messages (IMAP)
    • _send_email (SMTP)

Logs / Error Messages

Flocks Version

v2026.7.29

Operating System

Linux (Ubuntu/Debian)

Installation Method

uv / pip install

Additional Context

No response

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugSomething isn't working

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions