Seria bueno que pusieras la parte donde mandas el mensaje que te aparece.
Por otro lado, si la funcion te devuelve siempre una cadena aleatoria, ahi estas generando una contrasenia en plano y otra totalmente distinta encriptada. La forma correcta seria:
Código PHP:
Ver original$contrasena= SetRandomPassword();
// meto la con encrytada en variable
$encriptada=md5($contrasena);
De este modo te aseguras que la contraseña encriptada corresponde a la que le llega al usuario en el correo.