I am breaking my head from last 1 hour but not getting any idea that what's going wrong with my code...

I am developing my own plugin and I am using wp_mail() function for sending mail in that but it's not sending mail it seems.

I tried to use PHP Mailer which is working fine but I want to use wp_mail().. this is my code..

  $from = "[email protected]";
    $headers[] = "From:" . $from;
    $send = wp_mail("[email protected]", "hiii", "hiiii",$headers);
      if($send) {
          echo "send";
        return false;
       } else {
           echo $send;
        return true;

Can any body help me to figure out my mistake... I am testing it on my server only...

Thanks in advance.

  • Are you aware that you use $headers and $header spellt differently? I do not understand what you wnat to achieve with your conditional. It returns false if the email is sent?
    – fischi
    Commented Jan 27, 2014 at 10:58
  • $headers and $header is printing mistake here.. sorry for that.. and regarding true and false pls ignore it here...
    – user41362
    Commented Jan 27, 2014 at 11:02

2 Answers 2


Since PHP Mailer is working fine do you have the same credentials setup for wp_mail? If you're using an authenticated SMTP for PHP Mailer then you'll possibly need a plugin to get the authentication into wp_mail. There are a few different ones that all work but one is https://wordpress.org/plugins/wp-mail-smtp/ for example.


Try using the $headers as a string, and giving a name to the email.

$headers = 'From: Your Name <[email protected]>' . "\r\n";

Do not forget to add the \r\n like in the code above if you are using the string version.

If this does not work, try using wp_mail without additional headers, and check if it works. Should be sorted then :)

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.