Page 1 of 1

Sending a preset email to a visitor...

Posted: Tue Jun 06, 2006 5:14 pm
by Subyne Simean

Code: Select all

<?php
function wpautop($pee, $br = 1) {
        $pee = $pee . "\n"; // just to make things a little easier, pad the end
        $pee = preg_replace('|<br />\s*<br />|', "\n\n", $pee);
        // Space things out a little
        $pee = preg_replace('!(<(?:table|thead|tfoot|caption|colgroup|tbody|tr|td|th|div|dl|dd|dt|ul|ol|li|pre|select|form|blockquote|address|math|p|h[1-6])[^>]*>)!', "\n$1", $pee);
        $pee = preg_replace('!(</(?:table|thead|tfoot|caption|colgroup|tbody|tr|td|th|div|dl|dd|dt|ul|ol|li|pre|select|form|blockquote|address|math|p|h[1-6])>)!', "$1\n\n", $pee);
        $pee = str_replace(array("\r\n", "\r"), "\n", $pee); // cross-platform newlines
        $pee = preg_replace("/\n\n+/", "\n\n", $pee); // take care of duplicates
        $pee = preg_replace('/\n?(.+?)(?:\n\s*\n|\z)/s', "<p>$1</p>\n", $pee); // make paragraphs, including one at the end
        $pee = preg_replace('|<p>\s*?</p>|', '', $pee); // under certain strange conditions it could create a P of entirely whitespace
        $pee = preg_replace('!<p>\s*(</?(?:table|thead|tfoot|caption|colgroup|tbody|tr|td|th|div|dl|dd|dt|ul|ol|li|hr|pre|select|form|blockquote|address|math|p|h[1-6])[^>]*>)\s*</p>!', "$1", $pee); // don't pee all over a tag
        $pee = preg_replace("|<p>(<li.+?)</p>|", "$1", $pee); // problem with nested lists
        $pee = preg_replace('|<p><blockquote([^>]*)>|i', "<blockquote$1><p>", $pee);
        $pee = str_replace('</blockquote></p>', '</p></blockquote>', $pee);
        $pee = preg_replace('!<p>\s*(</?(?:table|thead|tfoot|caption|colgroup|tbody|tr|td|th|div|dl|dd|dt|ul|ol|li|hr|pre|select|form|blockquote|address|math|p|h[1-6])[^>]*>)!', "$1", $pee);
        $pee = preg_replace('!(</?(?:table|thead|tfoot|caption|colgroup|tbody|tr|td|th|div|dl|dd|dt|ul|ol|li|pre|select|form|blockquote|address|math|p|h[1-6])[^>]*>)\s*</p>!', "$1", $pee);
        if ($br) $pee = preg_replace('|(?<!<br />)\s*\n|', "<br />\n", $pee); // optionally make line breaks
        $pee = preg_replace('!(</?(?:table|thead|tfoot|caption|tbody|tr|td|th|div|dl|dd|dt|ul|ol|li|pre|select|form|blockquote|address|math|p|h[1-6])[^>]*>)\s*<br />!', "$1", $pee);
        $pee = preg_replace('!<br />(\s*</?(?:p|li|div|dl|dd|dt|th|pre|td|ul|ol)>)!', '$1', $pee);
        $pee = preg_replace('!(<pre.*?>)(.*?)</pre>!ise', " stripslashes('$1') .  stripslashes(clean_pre('$2'))  . '</pre>' ", $pee);

        return $pee;
} 
    //change this to your email.
    $to = "a.mcleod4@ntlworld.com";
    $from = "noreply@mk64mym.non";
    $subject = "Mario Kart 64 - Meet Your Match NEW MESSAGE!";

$name = $_POST['name'];
$location = $_POST['location'];
$email = $_POST['email'];
$fromtime = $_POST['fromtime'];
$totime = $_POST['totime'];
$timezone = $_POST['timezone'];
$message = wpautop($_POST['message']);

    //begin of HTML message
    $message = <<<EOF
<html>
<head>
<style type="text/css">
body { background-color: white; font-family: Verdana; font-size: 9px; color: black; }
table { border: 0px; width: 450px; }
td { padding: 4px; }
.heading { font-weight: bold; font-size: 15px; }
</style>
</head>
<body>
<table>
<tr>
<td colspan="2" bgcolor="beige" class="heading">Mario Kart 64 - Meet Your Match!</td>
</tr>
<tr>
<td width="100">Name:</td>
<td>$name</td>
</tr>
<tr>
<td width="100">Location:</td>
<td>$location</td>
</tr>
<tr>
<td width="100">Email:</td>
<td><a href="mailto:$email">$email</a></td>
</tr>
<tr>
<td width="100">Play from:</td>
<td>$fromtime</td>
</tr>
<tr>
<td width="100">Play to:</td>
<td>$totime</td>
</tr>
<tr>
<td width="100">Time Zone:</td>
<td>$timezone</td>
</tr>
<tr>
<td valign="top" width="100">Message:</td>
<td valign="top">$message</td>
</tr>
<tr>
<td colspan="2" bgcolor="beige" height="23"></td>
</tr>
</table>
EOF;
   //end of message
    $headers  = "From: $from\r\n";
    $headers .= "Content-type: text/html\r\n";

    //options to send to cc+bcc
    //$headers .= "Cc: [email][/email]";
    //$headers .= "Bcc: [email][/email]";
    header("Location: thankyou.html");

    // now lets send the email.
    mail($to, $subject, $message, $headers);
?>
Is there an easy way to amend the above script to send an auto-response pre-written email to the visitor's email address when they submit the form?

thanks

Posted: Tue Jun 06, 2006 5:23 pm
by PrObLeM
in before d11wtq: try viewtopic.php?t=48055

Posted: Tue Jun 06, 2006 5:28 pm
by Subyne Simean
sorry, i don't know what i'm looking at

Posted: Tue Jun 06, 2006 5:41 pm
by Chris Corbyn
I'm not sure what you're asking? You just want to email someone after submitting a form right?

It looks like you already know what functions you need so you basically need to call mail() if the form submission was successful. What exactly are you stuck on? :)

Posted: Tue Jun 06, 2006 7:31 pm
by Subyne Simean
my internet isn't working properly, have sent myself emails through PHP forms to two different email addresses and they've not arrived.

Posted: Tue Jun 06, 2006 8:05 pm
by Subyne Simean
I've sorted it. I was getting stressed out earlier because my ISP has been suffering problems all afternoon. Random sites wouldn't load, especially a few search engines.