domingo, 28 de março de 2010

Enviar endereços de e-mail na url com o CodeIgniter

No meu último projeto eu estava trabalhando em uma função de confirmação de e-mail. Funciona assim, o usuário se registra no site e depois clica em um link enviado para o e-mail que ele registrou. É relativamente simples de se fazer, o problema é que eu queria passar o e-mail deste usuário na url do link que foi enviado para ele, mas na configuração padrão do CodeIgniter isto não é possível.
No arquivo de configuração do CodeIgniter (system/application/config/config.php) existe uma configuração chamada 'permitted_uri_chars'. O padrão dela deve ser mais ou menos assim:

$config['permitted_uri_chars'] = 'a-z 0-9~%.:_\-';

Basicamente este parâmetro diz do CodeIgniter quais caracteres são válidos nas urls interpretadas por ele. Para ser possível enviar e-mails na url o @ deve figurar nesta configuração. Você só tem que tomar cuidado para deixar o traço(-) na última posição (não me perguntem porque). Assim enviar e-mails na url pode ser possível com a seguinte configuração:

$config['permitted_uri_chars'] = 'a-z 0-9~%.:_@\-';

É isso aí, espero que isso possa ajudá-los.