[FUG-BR] [OFF-TOPIC] - Dovecot consulta pelo endereço de e-mail inteiro.

Giancarlo Rubio gianrubio em gmail.com
Domingo Janeiro 10 20:49:50 BRST 2010


2010/1/10 Paulo Henrique <paulo.rddck em bsd.com.br>

> Saudações grandes mestres, recorro a ajuda, so para esclarecimento de
> uma duvida,
> Estou configurando um servidor de e-mail com postgresql + dovecot
> +postfixadmin
> Uso o postfixadmin para criar os e-mail cuja tabela fica com o seguinte
> formato:
>
> #########+========Tabela Mailbox=======+#######
>
> postfix=# \dS+ mailbox
>                                         Table "public.mailbox"
>   Column   |           Type           |               Modifiers
>         | Storage  | Description
>
> ------------+--------------------------+----------------------------------------+----------+-------------
>  username   | character varying(255)   | not null
>         | extended |
>  password   | character varying(255)   | not null default
> ''::character varying | extended |
>  name       | character varying(255)   | not null default
> ''::character varying | extended |
>  maildir    | character varying(255)   | not null default
> ''::character varying | extended |
>  quota      | integer                  | not null default 0
>         | plain    |
>  created    | timestamp with time zone | default now()
>         | plain    |
>  modified   | timestamp with time zone | default now()
>         | plain    |
>  active     | boolean                  | not null default true
>         | plain    |
>  domain     | character varying(255)   |
>         | extended |
>  local_part | character varying(255)   | not null
>         | extended |
> Indexes:
>    "mailbox_key" PRIMARY KEY, btree (username)
>    "mailbox_domain_idx" btree (domain)
>    "mailbox_username_active" btree (username, active)
> Foreign-key constraints:
>    "mailbox_domain_fkey1" FOREIGN KEY (domain) REFERENCES domain(domain)
> Has OIDs: no
>
> postfix=#
> #########+========Tabela Mailbox=======+#######
>
> Tal tabel contem toda as necessidades para o dovecot poder executar a
> consulta a não ser por um pequeno detalhe
> Quando rodo a consulta: SELECT username FROM mailbox WHERE username =
> '%n' AND domain = '%d'
>

Usando postgresql vc pode concatenar string usando || (pipe e pipe). [1]
Sua consulta ficaria parecida com isso
SELECT username FROM mailbox WHERE username = '%n' || '@' '%d' AND domain =
'%d'
ou entao
SELECT username FROM mailbox WHERE username = '%n@%d' AND domain = '%d'

[1] http://www.java2s.com/Code/PostgreSQL/Postgre-SQL/SELECTabcdef.htm

ele não retorna a consulta por que no dovecot a referencia username
> ='%n' só contem o nome de usuário e não usuário em domain e a tabela no
> qual o postfixadmin utiliza os dados é armazenado da segunda forma ou
> seja o username = username em domain li a documentação do dovecot e não
> achei referencia de como retorna ao vez de apenas o usuário retornar o
> e-mail do usuário.
>
> Por acaso alguem tem alguma solução que ao meu ver seria o dovecot
> passar como parametro não o username mais sim o e-mail ou então uma
> função de concatenação executando corretamente a consulta sobre o
> username
>
> Sem mais toda ajuda é bem vinda.
> -------------------------
> Histórico: http://www.fug.com.br/historico/html/freebsd/
> Sair da lista: https://www.fug.com.br/mailman/listinfo/freebsd
>



-- 
Giancarlo Rubio


Mais detalhes sobre a lista de discussão freebsd