How do I stop HTML entities appearing in an e-mail client's subject header? If I send an email with drupal_mail with the subject header:

Let's go


It appears in my email client:

Let&amp;#39;s go


This is okay:

Let’s go


The most convincing explanation I've read is:


  The behavior you are seeing is because the subject line is being run
  through check_plain() (via t()), which calls the PHP function
  htmlspecialchars().


Here's the link.

What changes should I make to my hook_mail code to correct my header in the email client:

$message['subject'] = t('Let's go');


Code that threw the error:

$message['subject'] = t('@responder has responded to: @title', array(
  '@responder' =&gt; $params['responder'],
  '@title' =&gt; $params['title'],
));
you can use !responder and !title instead of @responder and @title in your code (by using ! instead @ or % it tells drupal to use the string as is ; by using @responder Drupal will run the string through check_plain to escape html characters).