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.

@FunctionalInterface public interface EmailListener
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 Type
    Method
    Description
    of(Consumer<ReceivedEmail> emailHandler, Consumer<Throwable> errorHandler)
    Create a listener that handles both new emails and errors 创建处理新邮件和错误的监听器
    default void
    Called when an email is deleted 邮件被删除时调用
    default void
    Called when an error occurs 发生错误时调用
    default void
    onFlagsChanged(String messageId, String flagName, boolean value)
    Called when email flags change 邮件标记变更时调用
    default void
    Called when the listener starts monitoring 监听器开始监听时调用
    default void
    Called when the listener stops monitoring 监听器停止监听时调用
    void
    Called when a new email is received 收到新邮件时调用
    Create a simple listener that only handles new emails 创建仅处理新邮件的简单监听器
    default void
    Called when successfully reconnected 成功重连时调用
    default void
    onReconnecting(int attempt)
    Called when connection is lost and reconnecting 连接丢失并正在重连时调用
  • Method Details

    • onNewEmail

      void onNewEmail(ReceivedEmail email)
      Called when a new email is received 收到新邮件时调用
      Parameters:
      email - the received email | 接收到的邮件
    • onEmailDeleted

      default void onEmailDeleted(String messageId)
      Called when an email is deleted 邮件被删除时调用
      Parameters:
      messageId - the deleted message ID | 被删除的消息ID
    • onFlagsChanged

      default void onFlagsChanged(String messageId, String flagName, boolean value)
      Called when email flags change 邮件标记变更时调用
      Parameters:
      messageId - the message ID | 消息ID
      flagName - the flag name (SEEN, FLAGGED, etc.) | 标记名称
      value - the new flag value | 新的标记值
    • onError

      default void onError(Throwable error)
      Called when an error occurs 发生错误时调用
      Parameters:
      error - the error | 错误
    • onMonitoringStarted

      default void onMonitoringStarted(String folder)
      Called when the listener starts monitoring 监听器开始监听时调用
      Parameters:
      folder - the folder being monitored | 被监听的文件夹
    • onMonitoringStopped

      default void onMonitoringStopped(String folder)
      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

      static EmailListener onNewEmail(Consumer<ReceivedEmail> handler)
      Create a simple listener that only handles new emails 创建仅处理新邮件的简单监听器
      Parameters:
      handler - the new email handler | 新邮件处理器
      Returns:
      the listener | 监听器
    • of

      static EmailListener of(Consumer<ReceivedEmail> emailHandler, Consumer<Throwable> errorHandler)
      Create a listener that handles both new emails and errors 创建处理新邮件和错误的监听器
      Parameters:
      emailHandler - the new email handler | 新邮件处理器
      errorHandler - the error handler | 错误处理器
      Returns:
      the listener | 监听器