email_channel
email_channel
¶
EmailChannel — SMTP/IMAP email adapter (stdlib only, zero extra deps).
Classes¶
EmailChannel
¶
EmailChannel(
smtp_host: str = "",
smtp_port: int = 587,
*,
imap_host: str = "",
imap_port: int = 993,
username: str = "",
password: str = "",
use_tls: bool = True,
bus: Optional[EventBus] = None,
)
Bases: BaseChannel
Email channel adapter using stdlib smtplib and imaplib.
| PARAMETER | DESCRIPTION |
|---|---|
smtp_host
|
SMTP server hostname.
TYPE:
|
smtp_port
|
SMTP server port (default 587 for STARTTLS).
TYPE:
|
imap_host
|
IMAP server hostname for incoming messages.
TYPE:
|
imap_port
|
IMAP server port (default 993 for SSL).
TYPE:
|
username
|
Email username. Falls back to
TYPE:
|
password
|
Email password. Falls back to
TYPE:
|
use_tls
|
Whether to use TLS (default
TYPE:
|
bus
|
Optional event bus for publishing channel events.
TYPE:
|
Source code in src/diapason/channels/email_channel.py
Methods:¶
connect
¶
Start IMAP polling for incoming messages (if configured).
Source code in src/diapason/channels/email_channel.py
disconnect
¶
Stop the IMAP listener thread.
Source code in src/diapason/channels/email_channel.py
send
¶
send(
channel: str,
content: str,
*,
conversation_id: str = "",
metadata: Dict[str, Any] | None = None,
) -> bool
Send an email via SMTP. channel is the recipient address.
Source code in src/diapason/channels/email_channel.py
status
¶
status() -> ChannelStatus