What is the advantage of using wp_mail()
over mail()
. Codex says they’re similar, but they seem to be very similar.

wp_mail()
is a pluggable function: It can be replaced by plugins. That’s useful in cases where the regular mail()
doesn’t work (good enough), for example when you need extra authentication details. Example: WP Mail SMTP
wp_mail()
uses PHPMailer by default, a sophisticated PHP class which offers a lot of useful preprocessing and workarounds for cases where mail()
is too simple (UTF-8 encoded subject lines, attachments and so on). Just take a look at the bug tracker to get an idea about the complexity of these tasks.
wp_mail
offers some hooks for other plugins to change different values:
'wp_mail'
'wp_mail_from'
-
'wp_mail_from_name'
use case 'wp_mail_content_type'
'wp_mail_charset'
-
'phpmailer_init'
(an action)
In short: Use wp_mail()
for interoperability.