Interface EmailListener
- Functional Interface:
- This is a functional interface and can therefore be used as the assignment target for a lambda expression or method reference.
Email Listener Interface
邮件监听器接口
Callback interface for receiving email notifications.
接收邮件通知的回调接口。
Features | 主要功能:
- New email notification - 新邮件通知
- Email deletion notification - 邮件删除通知
- Flag change notification - 标记变更通知
- Error handling - 错误处理
Usage Examples | 使用示例:
EmailListener listener = new EmailListener() {
@Override
public void onNewEmail(ReceivedEmail email) {
System.out.println("New email from: " + email.from());
processNewEmail(email);
}
@Override
public void onError(Throwable error) {
log.error("Email listener error", error);
}
};
// Use with EmailIdleMonitor
EmailIdleMonitor monitor = EmailIdleMonitor.builder()
.config(config)
.listener(listener)
.build();
monitor.start();
Security | 安全性:
- Thread-safe: Implementation dependent - 线程安全: 取决于实现
- Since:
- JDK 25, opencode-base-email V1.0.0
- Author:
- Leon Soo www.LeonSoo.com
- See Also:
-
Method Summary
Modifier and TypeMethodDescriptionstatic EmailListenerof(Consumer<ReceivedEmail> emailHandler, Consumer<Throwable> errorHandler) Create a listener that handles both new emails and errors 创建处理新邮件和错误的监听器default voidonEmailDeleted(String messageId) Called when an email is deleted 邮件被删除时调用default voidCalled when an error occurs 发生错误时调用default voidonFlagsChanged(String messageId, String flagName, boolean value) Called when email flags change 邮件标记变更时调用default voidonMonitoringStarted(String folder) Called when the listener starts monitoring 监听器开始监听时调用default voidonMonitoringStopped(String folder) Called when the listener stops monitoring 监听器停止监听时调用voidonNewEmail(ReceivedEmail email) Called when a new email is received 收到新邮件时调用static EmailListeneronNewEmail(Consumer<ReceivedEmail> handler) Create a simple listener that only handles new emails 创建仅处理新邮件的简单监听器default voidCalled when successfully reconnected 成功重连时调用default voidonReconnecting(int attempt) Called when connection is lost and reconnecting 连接丢失并正在重连时调用
-
Method Details
-
onNewEmail
Called when a new email is received 收到新邮件时调用- Parameters:
email- the received email | 接收到的邮件
-
onEmailDeleted
Called when an email is deleted 邮件被删除时调用- Parameters:
messageId- the deleted message ID | 被删除的消息ID
-
onFlagsChanged
-
onError
Called when an error occurs 发生错误时调用- Parameters:
error- the error | 错误
-
onMonitoringStarted
Called when the listener starts monitoring 监听器开始监听时调用- Parameters:
folder- the folder being monitored | 被监听的文件夹
-
onMonitoringStopped
Called when the listener stops monitoring 监听器停止监听时调用- Parameters:
folder- the folder that was monitored | 之前被监听的文件夹
-
onReconnecting
default void onReconnecting(int attempt) Called when connection is lost and reconnecting 连接丢失并正在重连时调用- Parameters:
attempt- the reconnection attempt number | 重连尝试次数
-
onReconnected
default void onReconnected()Called when successfully reconnected 成功重连时调用 -
onNewEmail
Create a simple listener that only handles new emails 创建仅处理新邮件的简单监听器- Parameters:
handler- the new email handler | 新邮件处理器- Returns:
- the listener | 监听器
-
of
Create a listener that handles both new emails and errors 创建处理新邮件和错误的监听器- Parameters:
emailHandler- the new email handler | 新邮件处理器errorHandler- the error handler | 错误处理器- Returns:
- the listener | 监听器
-