Hi! There are few small shortcomings in plain-text newsletter mail display. I came up with a usefull fixes in tpl files that I put on each my newsletter-supporting site and I thing it could be implemented into this module.

First: Header Dashes in simplenews-newsletter-body.tpl

(related to http://drupal.org/node/984190 and and http://drupal.org/node/795228)

Dashes are generated by the drupal_html_to_text function which replaces the h2 tag.

Solution: replace h2 with p, that also ends the line, but not generates the junky chars. To keep the string uppercase put the $title into mb_strtoupper function. So, in line 30 simply change:

- <h2><?php print $title; ?></h2>
+ <p><?php print mb_strtoupper($title); ?></p>

Second: Spaces inside the simplenews-newsletter-footer.tpl

Tab at the beginning of line 35 is displayed into output and creates unnecessary indentation. There are also two dashes (similiar as in drupal core user mails), that can be removed consequently to the header fix. For the frontend users these are simply ugly :)

Solution: delete the indent and dashes before <?php print $unsubscribe_text ?>: [simplenews-subscriber:unsubscribe-url]

In summary, the new template files should look like

simplenews-newsletter-body.tpl.php:

<?php

/**
 * @file
 * Default theme implementation to format the simplenews newsletter body.
 *
 * Copy this file in your theme directory to create a custom themed body.
 * Rename it to override it. Available templates:
 *   simplenews-newsletter-body--[tid].tpl.php
 *   simplenews-newsletter-body--[view mode].tpl.php
 *   simplenews-newsletter-body--[tid]--[view mode].tpl.php
 * See README.txt for more details.
 *
 * Available variables:
 * - $build: Array as expected by render()
 * - $build['#node']: The $node object
 * - $title: Node title
 * - $language: Language code
 * - $view_mode: Active view mode
 * - $simplenews_theme: Contains the path to the configured mail theme.
 * - $simplenews_subscriber: The subscriber for which the newsletter is built.
 *   Note that depending on the used caching strategy, the generated body might
 *   be used for multiple subscribers. If you created personalized newsletters
 *   and can't use tokens for that, make sure to disable caching or write a
 *   custom caching strategy implemention.
 *
 * @see template_preprocess_simplenews_newsletter_body()
 */
?>
<p><?php print mb_strtoupper($title); ?></p>
<?php print render($build); ?>

simplenews-newsletter-footer.tpl.php:

<?php

/**
 * @file
 * Default theme implementation to format the simplenews newsletter footer.
 *
 * Copy this file in your theme directory to create a custom themed footer.
 * Rename it to simplenews-newsletter-footer--[tid].tpl.php to override it for a
 * newsletter using the newsletter term's id.
 *
 * @todo Update the available variables.
 * Available variables:
 * - $build: Array as expected by render()
 * - $build['#node']: The $node object
 * - $language: language code
 * - $key: email key [node|test]
 * - $format: newsletter format [plain|html]
 * - $unsubscribe_text: unsubscribe text
 * - $test_message: test message warning message
 * - $simplenews_theme: path to the configured simplenews theme
 *
 * Available tokens:
 * - [simplenews-subscriber:unsubscribe-url]: unsubscribe url to be used as link
 *
 * Other available tokens can be found on the node edit form when token.module
 * is installed.
 *
 * @see template_preprocess_simplenews_newsletter_footer()
 */
?>
<?php if (!$opt_out_hidden): ?>
<?php if ($format == 'html'): ?>
<p class="newsletter-footer"><a href="[simplenews-subscriber:unsubscribe-url]"><?php print $unsubscribe_text ?></a></p>
<?php else: ?>
<?php print $unsubscribe_text ?>: [simplenews-subscriber:unsubscribe-url]
<?php endif ?>
<?php endif; ?>

<?php if ($key == 'test'): ?>
- - - <?php print $test_message ?> - - -
<?php endif ?>