Sending a preset email to a visitor...

PHP programming forum. Ask questions or help people concerning PHP code. Don't understand a function? Need help implementing a class? Don't understand a class? Here is where to ask. Remember to do your homework!

Moderator: General Moderators

Post Reply
Subyne Simean
Forum Newbie
Posts: 19
Joined: Tue May 09, 2006 1:59 pm

Sending a preset email to a visitor...

Post 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
User avatar
PrObLeM
Forum Contributor
Posts: 418
Joined: Sun Mar 07, 2004 2:30 pm
Location: Mesa, AZ
Contact:

Post by PrObLeM »

in before d11wtq: try viewtopic.php?t=48055
Subyne Simean
Forum Newbie
Posts: 19
Joined: Tue May 09, 2006 1:59 pm

Post by Subyne Simean »

sorry, i don't know what i'm looking at
User avatar
Chris Corbyn
Breakbeat Nuttzer
Posts: 13098
Joined: Wed Mar 24, 2004 7:57 am
Location: Melbourne, Australia

Post 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? :)
Subyne Simean
Forum Newbie
Posts: 19
Joined: Tue May 09, 2006 1:59 pm

Post 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.
Subyne Simean
Forum Newbie
Posts: 19
Joined: Tue May 09, 2006 1:59 pm

Post 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.
Post Reply