我需要帮助生成表单到电子邮件,我会尝试很多,但没有人匹配我需要。我有一个来自Bell Online Mailer的表单,但是这个脚本不允许图像发送...所以我修改了一个小的表单代码,现在我已经有了一个上传表单。现在我必须添加什么样的功能或php才能在表单消息中核心显示它作为图像(不附加)。 这是代码
<?php
/*
BELLonline PHP MAILER SCRIPT v1.5
Copyright 2006 Gavin Bell
http://www.bellonline.co.uk
gavin@bellonline.co.uk
Set up an email form on your website within minutes - see readme.txt for installation.
*/
extract($_POST);
if (!file_exists("config.php"))
{
$host = $_SERVER[HTTP_HOST ];
$path = pathinfo($_SERVER['PHP_SELF']); $file_path = $path['dirname']; print "<h1>BELLonline PHP mailer script</h1> <h2>There is a problem with your PHP mailer script installation</h2> <p>The config.php file seems to be missing!</p> <p>For this script to work, you need to upload the config.php file that came with the download of the BELLonline <a href=\"http://bellonline.co.uk/downloads/php-mailer-script/\">PHP mailer script</a>.</p> <p>The file must be in the following directory of your website:</p> <p>$host<span style=\"font-weight: bold; font-size: 150%;\">$file_path/</span></p> <p>If you need help installing the script, then feel free to email me at <a href=\"mailto:gavin@bellonline.co.uk\">gavin@bellonline.co.uk</a></p>"; exit; } include "config.php";
if ($sendto_email == "changeme@example.com") { print "<h1>BELLonline PHP mailer script</h1> <h2>Installation nearly complete!</h2> <p>Thank you for downloading the <a href=\"http://bellonline.co.uk/downloads/php-mailer-script/\" title=\"free PHP mailer script\">free PHP mailer script</a> from <a href=\"http://www.bellonline.co.uk\">BELLonline web services</a>. </p> <p>To start using the script, open config.php in a text editor and change the <b>$sendto_email</b> variable to your email address.</p> <p>If you did not get a config.php file with this script, then go to the <a href=\"http://bellonline.co.uk/downloads/php-mailer-script/\">PHP mailer script page</a> and download the full script.</p> <p>If you need help installing the script, then feel free to email me at <a href=\"mailto:gavin@bellonline.co.uk\">gavin@bellonline.co.uk</a></p>"; exit; } if (empty ($senders_name)) { $error = "1"; $info_error .= $lang_noname . "<br>"; } if (empty ($senders_email)) { $error
= "1"; $info_error .= $lang_noemail . "<br>"; } if (empty ($mail_subject)) { $error = "1"; $info_error .= $lang_nosubject . "<br>"; } if (empty ($mail_message)) { $error = "1"; $info_error .= $lang_nomessage . "<br>"; } if (!eregi("^[A-Z0-9._%-]+@[A-Z0-9._%-]+\.[A-Z]{2,6}$", $senders_email)) { $error = "1"; $info_error .= $lang_invalidemail . "<br>"; } if (empty ($security_code)) { $error = "1"; $info_error .= $lang_nocode . "<br>"; } elseif ($security_code != $randomness) { $error = "1"; $info_error .= $lang_wrongcode . "<br>"; } if ($showlink != "no") { $link = "<br><span style=\"font-size: 10px;\">Powered by <a href=\"http://bellonline.co.uk/downloads/php-mailer-script/\" title=\"free PHP mailer script\">BELLonline PHP mailer script</a></span>"; } if ($error == "1") { $info_notice = "<span style=\"color: " . $error_colour . "; font-weight: bold;\">" . $lang_error . "</span><br>"; if (empty ($submit)) { $info_error = ""; $info_notice = $lang_notice; }
function Random() { $chars = "ABCDEFGHJKLMNPQRSTUVWZYZ23456789"; srand((double)microtime()*1000000); $i = 0; $pass = '' ; while ($i <= 4) { $num = rand() % 32; $tmp = substr($chars, $num, 1); $pass = $pass . $tmp; $i++; } return $pass; } $random_code = Random(); $mail_message = stripslashes($mail_message);
print "<form name=\"BELLonline_email\" enctype=\"multipart/form-data\" method=\"post\" style=\"margin: 0;\" action=\"\"> <table border=\"0\" cellspacing=\"2\" cellpadding=\"2\">
<tr align=\"$title_align\" valign=\"top\">
<td colspan=\"2\"><span style=\"$title_css\">$lang_title</span></td>
</tr>
<tr align=\"left\" valign=\"top\">
<td colspan=\"2\">$info_notice$info_error</td>
</tr>
<tr valign=\"top\">
<td align=\"right\">$lang_name</td>
<td align=\"left\"><input name=\"senders_name\" type=\"text\" class=\"mailform_input\" id=\"senders_name\" style=\"width: $input_width;\" value=\"$senders_name\" maxlength=\"32\"></td>
</tr>
<tr valign=\"top\">
<td width=\"100\" align=\"right\">$lang_youremail</td>
<td align=\"left\"><input name=\"senders_email\" type=\"text\" class=\"mailform_input\" id=\"senders_email\" style=\"width: $input_width;\" value=\"$senders_email\" maxlength=\"64\"></td>
</tr>
<tr valign=\"top\">
<td width=\"100\" align=\"right\">$lang_subject</td>
<td align=\"left\"><input name=\"mail_subject\" type=\"text\" class=\"mailform_input\" id=\"mail_subject\" style=\"width: $input_width;\" value=\"$mail_subject\" maxlength=\"64\"></td>
</tr>
<tr valign=\"top\">
<td width=\"100\" align=\"right\">$lang_message</td>
<td align=\"left\"><textarea name=\"mail_message\" cols=\"36\" rows=\"5\" style=\"width: $input_width;\" class=\"mailform_input\">$mail_message</textarea></td>
</tr>
<tr valign=\"top\">
<td width=\"100\" align=\"right\">$lang_image</td>
<td align=\"left\"><input name=\"mail_image\" size=\"10\" type=\"file\" class=\"mailform_input\" id=\"mail_image\" value=\"$mail_image\" maxlength=\"64\"></td>
</tr>
<tr align=\"left\" valign=\"top\">
<td width=\"100\">$lang_confirmation</td>
<td><input name=\"security_code\" type=\"text\" id=\"security_code\" size=\"5\">
<b>$random_code</b></td>
</tr>
<tr valign=\"top\">
<td colspan=\"2\" align=\"right\"><input name=\"randomness\" type=\"hidden\" id=\"randomness\" value=\"$random_code\">
<input name=\"submit\" type=\"submit\" id=\"submit\" value=\"$lang_submit\" class=\"mailform_button\"></td>
</tr> </table> </form>"; } else {
if ($checkdomain == "yes") { $sender_domain = substr($senders_email, (strpos($senders_email, '@')) +1); $recipient_domain = substr($sendto_email, (strpos($sendto_email, '@')) +1); if ($sender_domain == $recipient_domain) { print "Sorry, you cannot send messages from this domain ($sender_domain)"; exit; } }
$info_notice = $lang_sent; $mail_message = stripslashes($mail_message); $mail_image = $_POST['mail_image']; $content = $mail_image . $mail_message . '<p> Oleh ' . $senders_name . ', hubungi ' . $senders_email . ' </p>'; $senders_email = preg_replace("/[^a-zA-Z0-9s.@-_]/", "-", $senders_email); $from = $senders_email; $senders_name = preg_replace("/[^a-zA-Z0-9s]/", " ", $senders_name); $headers = "From: $senders_name <$senders_email> \r\n"; $headers .= "X-Mailer: BELLonline.co.uk PHP mailer \r\n"; $result = sendmail($sendto_email, $mail_subject, $content, $from);
print " <table border=\"0\" cellspacing=\"2\" cellpadding=\"2\">
<tr align=\"$title_align\" valign=\"top\">
<td colspan=\"2\"><span style=\"$title_css\">$lang_title</span></td>
</tr>
<tr align=\"$title_align\" valign=\"top\">
<td colspan=\"2\">$info_notice</td>
</tr>
<tr valign=\"top\">
<td width=\"100\" align=\"right\">$lang_name</td>
<td align=\"left\"><b>$senders_name</b></td>
</tr>
<tr valign=\"top\">
<td width=\"100\" align=\"right\">$lang_youremail</td>
<td align=\"left\"><b>$senders_email</b></td>
</tr>
<tr valign=\"top\">
<td width=\"100\" align=\"right\">$lang_subject</td>
<td align=\"left\"><b>$mail_subject</b></td>
</tr>
<tr valign=\"top\">
<td width=\"100\" align=\"right\">$lang_message</td>
<td align=\"left\"><b>$mail_message</b></td>
</tr>
</table>";
}
//Simple mail function with HTML header
function sendmail($sendto_email, $mail_subject, $content, $from) {
$headers = "MIME-Version: 1.0" . "\r\n";
$headers .= "Content-type:text/html;charset=iso-8859-1" . "\r\n";
$headers .= 'From: ' . $from . "\r\n";
$result = mail($sendto_email, $mail_subject, $content, $headers);
if ($result) return 1;
else return 0;
}
?>
答案 0 :(得分:0)
您可以使用PHP上传或图片上传器(我目前正在使用Plupload)轻松解决此问题,并PHP Mailer发送电子邮件。正如您所提到的那样,不打算将图像作为附件发送,在PHP Mailer中,您只需要在其中设置带有图像的html消息。