While it's appropriate to send a password via email, that password must be temporary; upon first login, the system must force a password change. Most enterprise-grade products support this option.
The problem is that credentials should not be stored anywhere in the open -- email least of all, since that's the first place attackers will look. Sending the password in a separate email doesn't really help, since a hacker who gets into your email will be able to see both messages, so you're no safer that way. Also, you may be required by a manager or anyone else for that matter to copy them on emails like this, significantly increasing your attack surface and the likelihood of an attacker getting the password.
The best solution is to simply force the user to change his password. Do not request that that the user change his password, since he never will. There are thousands of accounts out there with the password 12345 which was assigned as a temporary password and which the user was requested to change... and which he never did change.