Why not post the form to a separate script that just previews the information, and then they click another link (or submit a hidden form) so that on the third page, it actually sends it.
So in essence, it'd be something as simple as:
email.php
<?php
session_start();
if(!isset($_SESSION['loggedin']))
die('You must be logged in for this premium feature.');
?>
<form action="preview.php" method="post">
Subject: <input type="text" name="subject" size="30" />
Name: <input type="text" name="salutation" size="30" /><br />
Main Body: <br />
<?php
$fck = new FCKeditor('message');
$fck->BasePath = 'FCKeditor/';
$fck->Width = '600';
$fck->Height = '400';
$fck->ToolbarSet = 'tool';
$fck->Create();
?><br /><br />
<input type="submit" name="Submit" value="Send" />
</form>
preview.php
<?php
session_start();
if(!isset($_SESSION['loggedin']))
die('You have to be logged in to use this premium feature.');
if(!isset($_POST) || $_POST['Submit'] != 'Send')
die('You have to use our form in order to send an email.');
$message = implode("", file('templates/template.html'));
$_SESSION['message']['template'] = $message; // Store this for later ;)
$_SESSION['message']['subject'] = $_POST['subject'];
$_SESSION['message']['salutation'] = $_POST['salutation'];
$_SESSION['message']['message'] = $_POST['message'];
$preview = str_replace(array('<!--EMAIL-->', '<!--MESSAGE-->', '<!--SALUTATION-->'), array('%users_email%', $_POST['message'], $_POST['salutation']), $message);
echo $preview;
?>
<br />
Please read over this preview of what your message will look like. Where it says %users_email%, that will be replaced with each users individual email address. If everything looks okay, please click the link to proceed.<br />
<a href="send.php">Click Here to Send</a>
send.php
<?php
session_start();
if(!isset($_SESSION['loggedin']))
die('Sorry but you have to be logged in to use this premium feature.');
$headers = "FROM: Your Mailing List <admin@yoursite.com>\r\n";
$headers .= "MIME-Version: 1.0\r\n";
$headers .= "Content-type: text/html; charset=ISO-8859-1\r\n";
$query = "SELECT email
FROM list";
$result = mysql_query($query) or die('mySQL Error: ' . mysql_error());
while($row = mysql_fetch_assoc($result))
{
$find = array('<!--EMAIL-->', '<!--MESSAGE-->', '<!--SALUTATION-->');
$replace = array($row['email'], $_SESSION['message']['message'], $_SESSION['message']['salutation']);
$message = str_replace($find, $replace, $_SESSION['message']['template']);
if(mail($row['email'], stripslashes($_SESSION['message']['subject']), $message, $headers))
echo 'Mailed to ', $row['email'], 'successfully<br />';
else
echo 'Failed to mail to ', $row['email'], 'successfully<br />';
}
?>
Something like that.....