I am creating a contact form on WordPress site.

The form is perfectly working with following code:

//validate email if(!filter_var($email, FILTER_VALIDATE_EMAIL)) my_contact_form_generate_response("error", $email_invalid); else //email is valid { //validate presence of name and message if(empty($name) || empty($topic) || empty($message)){ my_contact_form_generate_response("error", $missing_content); } else //ready to go! { $sent = wp_mail($to, $subject, strip_tags($message), $headers); if($sent) my_contact_form_generate_response("success", $message_sent); //message sent! else my_contact_form_generate_response("error", $message_unsent); //message wasn't sent } } } } else if ($_POST['submitted']) my_contact_form_generate_response("error", $missing_content); ?>

However, this sends email with 'From' name as 'WordPress'.

I want to customize 'WordPress' with sender name for which I am using $name variable, so that I got to know who send me email without opening it.

Any help will be appreciated.

$to = 'emailsendto@example.com';
$name= 'jhon';
$subject = 'The subject';
$body = 'The email body content';
$headers = array('From: '.$name.'');

wp_mail( $to, $subject, $body, $headers );

I hope it'll work as you want.

  • Thanks, please share me, where to add this code in the snippet I shared in original post. – Technoyl Aug 27 '19 at 5:48
  • This doesn't works. I replaced it with this code: $to = get_option('admin_email'); $subject = "[Contact Form] ".$name; $headers = 'From: '. $email . "\r\n" . 'Reply-To: ' . $email . "\r\n"; – Technoyl Aug 27 '19 at 5:56

The simplest way to change this for ALL outbound mail generated by your site is a plugin called CB Change Mail Sender. I have used it a lot. Performance is not an issue.

  • Thanks for your response but I don't want to additional plugins. – Technoyl Aug 28 '19 at 11:21

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

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