Gerador de senhas diferente

Estou precisando criar um gerador de senhas um pouco diferente.
Preciso colocar quantas senhas gerar
Fiquem armazenadas no banco de dados
Para obter senha o usuário insere email
enviar senha pro email
email fica gravado no db com o senha

$chars  = 'abcdefghijklmnopqrstuvxywz';
$chars .= 'ABCDEFGHIJKLMNOPQRSTUVXYWZ';
$chars .= '0123456789!@$*.,;:';
$max = strlen($chars)-1;
$act_code = "";
for($i=0; $i < 32; $i++)
{
	$act_code .= $chars{mt_rand(0, $max)};
}

return $act_code;