ngx_mail_protocol_t
¶NGINXがproxyする新しいメールプロトコルを宣言する
name
¶プロトコルのための名前。protocol
ディレクティブのための識別子として使われます。IMAPモジュールでは、これは以下を使って宣言されます:
ngx_string("imap")
in_port_t port[4]
listenするための4つまでのポートの配列。必要では無い場合は、配列のエントリを'0'に設定してください。IMAPを使った例は以下のようになるでしょう:
{ 143, 993, 0, 0 }
type
¶プロトコルのタイプ。オプションは以下の通りです:
オプション | 解説 |
---|---|
NGX_MAIL_POP3_PROTOCOL | POP3 プロトコル |
NGX_MAIL_IMAP_PROTOCOL | IMAP プロトコル |
NGX_MAIL_SMTP_PROTOCOL | SMTP プロトコル |
void (*ngx_mail_init_session_pt)(ngx_mail_session_t *s, ngx_connection_t *c) init_session
新しい各メールセッションについて接続の後に呼ばれるコールバック
void (*ngx_mail_init_protocol_pt)(ngx_event_t *rev) init_protocol
新しい各メールセッションでの認証の前に呼ばれるコールバック
ngx_int_t (*ngx_mail_parse_command_pt)(ngx_mail_session_t *s) parse_command
クライアントによってNGINXに送信される各コマンドについて呼ばれるコールバック。
コールバックは成功時には NGX_OK
、全てのコマンドをまだ受け取っていない場合はNGX_AGAIN
、コマンドが有効では無い場合は NGX_MAIL_PARSE_INVALID_COMMAND
、あるいは内部エラーについては NGX_ERROR
を返す必要があります。
void (*ngx_mail_auth_state_pt)(ngx_event_t *rev) auth_state
認証の様々なステージを通貨するためにイベントループ内で呼ばれるコールバック。
internal_server_error
¶内部サーバエラーがあった場合に返す文字列。IMAPについてはこれは以下の通りです:
ngx_string("* BAD internal server error" CRLF)
ngx_mail_session_t
¶connection
¶接続オブジェクトへのポインタ
state
¶コマンド パーサーの現在の状態を格納する整数値