Version: 2.9
Type: Full Script
Category: Other
License: Other
Description: Dit script kan: ~Overzicht van mailtjes weergeven ~Mailtjes verwijderen ~Mailtjes verzenden via smtp ~POP3 en SMTP adres en poort kunnen door gebruiker opgegeven worden ~geen variables vooraf instellen ~Base64 coded mailtjes openen ~Weergeven of er bijlages zijn ~Bijlages openen ~Cc en Bcc ~source van de mail weergeven ~priority van de mail weergeven ~embedded images weergeven ~kiezen tussen tekst en html weergave ~urls in de tekst worden automatisch omgezet in links ~controle na het inloggen ~meerdere mailtjes tegelijk verwijderen ~html mailtjes verzenden met een wysiwyg editor ~bijlages verzenden ~prioriteit mail verzenden TODO: ~embedded images verzenden Het script is te bekijken op: http://62.58.118.175/mail/ Het script is te downloaden op: http://62.58.118.175/mail.zip Voor de nieuwste versie kan je kijken op: http://www.phpfreakz.nl/library.php?sid=14877
///////////////////////
// index.php //
///////////////////////
<?php
session_start();
$_SESSION = array(); //uitloggen indien ingelogt
?>
<form name="inlogformulier" method="post" action="mail.php">
POP3 server: <input name="pop3" type="text" value="pop3.jouwserver.nl"> Poort: <input name="pop3poort" type="text" value="110"><br>
SMTP server: <input name="smtp" type="text" value="smtp.jouwserver.nl"> Poort: <input name="smtppoort" type="text" value="25"> Authentification: <select size="1" name="auth"><option selected>none</option><option>login</option><option>plain</option></select><br>
username: <input name="username" type="text"><br>
password: <input name="wachtwoord" type="password"><br>
<input type="submit" name="submit" value="Inloggen">
</form>
///////////////////////
// mail.php //
///////////////////////
<?php
require 'mail_header.php';
require 'connect_pop3.php';
include 'mail_menu.php';
include 'disconnect_pop3.php';
?>
Welcome on this online email system.
///////////////////////
// mail_header.php //
///////////////////////
<?php
session_start();
set_time_limit(60);
if(isset($_POST["wachtwoord"])){
$_SESSION['wachtwoord'] = $_POST['wachtwoord'];
}
if(isset($_POST['username'])){
$username=$_POST['username'];
$_SESSION['username']=$_POST['username'];
}
if(isset($_POST["pop3"])){
$_SESSION['pop3'] = $_POST['pop3'];
$_SESSION['pop3poort'] = $_POST['pop3poort'];
$_SESSION['smtp'] = $_POST['smtp'];
$_SESSION['smtppoort'] = $_POST['smtppoort'];
$_SESSION['auth'] = $_POST['auth'];
}
if(!isset($_SESSION['username'])){
die('You have to login to see this page!');
}
$pop3_wachtwoord=$_SESSION['wachtwoord'];
$pop3_user=$_SESSION['username'];
$pop3_server=$_SESSION['pop3'];
$pop3_port=$_SESSION['pop3poort'];
$smtp_server=$_SESSION['smtp'];
$smtp_port=$_SESSION['smtppoort'];
$auth=$_SESSION['auth'];
$input_vars = array('from','to','cc','bcc','subject','text','html','mailid','delid','file','contenttype','mspriority');
foreach ($input_vars as $var) {
if (!empty($_REQUEST[$var])) { ${$var} = $_REQUEST[$var]; }
else { ${$var} = NULL; }
}
?>
///////////////////////
// mail_menu.php //
///////////////////////
<table width=100%><tr><th><a href="mail_overview.php">inbox</a></th>
<th><a href="mail_compose.php">compose</a> (<a href="mail_compose.php?contenttype=text">text</a>/<a href="mail_compose.php?contenttype=html">html</a>)</th>
<th><a href="index.php">logout</a></th></tr></table>
///////////////////////
// mail_overview.php //
///////////////////////
<?php
require 'mail_header.php';
require 'connect_pop3.php';
include 'mail_menu.php';
// STATUS
$buffer="STAT\r\n";
fputs($mailserver,$buffer);
$buffer=fgets($mailserver,512);
$mailsum=substr($buffer,4,2);
$mailmem=substr($buffer,6,strlen($buffer)-6);
// status information
echo '<table border=0 width=400>
<tr bgcolor="#C0C0C0">
<td>number of mails</td>
<th align=left>' . $mailsum . '</th>
</tr>
<tr bgcolor="#E0E0E0">
<td>mailboxsize</td>
<th align=left>'.$mailmem.' bytes</th>
</tr>
</table>';
echo '<form method="POST" action="mail_delete.php"><input type="submit" value="Delete" name="delete"><table border=1><tr><th></th><th>Priority</th><th>From</th><th>Subject</th><th>Format</th><th>Date</th><th>Attachment</th><th></th><th></th></tr>';
for($nr=1;$nr<=$mailsum;$nr++){
$buffer="RETR " . $nr . "\n";
fputs($mailserver,$buffer);
$bijlage=false;
$text=false;
$html=false;
$priority=3;
$bijlagenaam=array();
while($buffer<>".\r\n"){
$buffer=fgets($mailserver,512);
if(substr($buffer,0,11)=='X-Priority:'){$priority=substr($buffer,12,1);}
if(substr($buffer,0,5)=='From:'){$from=htmlspecialchars(substr($buffer,6,strlen($buffer)));}
if(substr($buffer,0,8)=='Subject:'){$subject=htmlspecialchars(substr($buffer,9,strlen($buffer)));}
if(substr($buffer,0,5)=='Date:'){$date=htmlspecialchars(substr($buffer,6,strlen($buffer)));}
if(substr($buffer,0,13)=='Content-Type:'){
$type=substr($buffer,14,strpos($buffer,';')-14);
if($type=='text/plain'){
$text=true;
}elseif($type=='text/html'){
$html=true;
}else{
$bijlage=true;
}
}
//Content-Type: is bijvoorbeeld image/jpeg
if($bijlage and strpos($buffer,"\tname=\"")!==false){$bijlagenaam[]=substr($buffer,strpos($buffer,'name=')+6,strpos($buffer,"\"\r\n")-strpos($buffer,'name=')-6);}
}
echo '<tr><td><input type="checkbox" name="delid[]" value="'.$nr.'"></td>';
if(intval($priority) < 3 and intval($priority) > 0){
echo '<td bgcolor="#C0C0C0" align=center>High</td>';
}elseif(intval($priority) > 3 and intval($priority) < 6){
echo '<td align=center>Low</td>';
}else{
echo '<td bgcolor="#E0E0E0" align=center>Normal</td>';
}
echo '<td>'.$from.'</td><td><a href="mail_view.php?mailid='.$nr.'" target="_blank">'.$subject.'</a></td><td>';
if($text){echo ' <a href="mail_view.php?mailid='.$nr.'&contenttype=text" target="_blank">text</a> ';}
if($html){echo ' <a href="mail_view.php?mailid='.$nr.'&contenttype=html" target="_blank">html</a> ';}
echo '</td><td>'.$date.'</td><td>';
if($bijlage==true and count($bijlagenaam)>0){
for($i=0;$i<count($bijlagenaam);$i++){
echo('<a href="mail_file.php?mailid='.$nr.'&file='.$bijlagenaam[$i].'" target="_blank">'.$bijlagenaam[$i].'</a><br>');
}
}else{
echo 'No';
}
echo '</td><td><a href="mail_source.php?mailid='.$nr.'" target="_blank">Source</a></td><td><a href="mail_delete.php?delid='.$nr.'">Delete</a></td></tr>';
}
echo '</table><input type="submit" value="Delete" name="delete"></form>';
include 'disconnect_pop3.php';
?>
///////////////////////
// mail_view.php //
///////////////////////
<?php
require 'mail_header.php';
require 'connect_pop3.php';
$a=0;
$type='';
$tekst='';
$html='';
$oboundary='';
$iboundary='';
$base64=false;
$buffer="RETR ".$mailid."\r\n";
fputs($mailserver,$buffer);
while($buffer<>".\r\n"){
$buffer=fgets($mailserver,512);
if(strpos($buffer,'Content-Transfer-Encoding: base64')!==false){$base64=true;}
if(substr($buffer,0,24)=='Content-Type: text/plain'){$type='text';$tekst='';$a=1;}
if(substr($buffer,0,23)=='Content-Type: text/html'){$type='html';$html='';$a=1;}
if(substr($buffer,0,29)=='Content-Type: multipart/mixed'){$type='mixed';}
if(substr($buffer,0,35)=='Content-Type: multipart/alternative'){$type='alternative';}
if($type=='mixed' and strpos($buffer,'boundary="')!==false){$oboundary='';eregi("boundary=\"(.*)\"", $buffer, $oboundary);}
elseif(strpos($buffer,'boundary="')!==false){$iboundary='';eregi("boundary=\"(.*)\"", $buffer, $iboundary);}
if($a==2 and $type=='text' and $buffer==".\r\n"){$a=3;}
if($a==2 and is_array($iboundary) and strpos($buffer,$iboundary[1])!==false){$a=3;}
if($a==2 and is_array($oboundary) and strpos($buffer,$oboundary[1])!==false){$a=3;}
if($a==2 and $type=='text'){$tekst.=$buffer;}
if($a==2 and $type=='html'){
if($base64){
$html.=base64_decode($buffer);
}else{
$html.=$buffer;
}
}
if($a==1 and $buffer=="\r\n"){$a=2;}
}
$find =array("=20\r\n", "=\r\n","=3D");
$replace=array(" " , "" ,"=");
$tekst=nl2br(htmlspecialchars(str_replace($find,$replace,$tekst)));
$html=str_replace($find,$replace,$html);
if($contenttype!='html' and $tekst<>''){
$tekst = ereg_replace('[[:alpha:]]+://[^<>[:space:]]+[[:alnum:]/]','<a href="\0">\0</a>', $tekst);
echo $tekst;
}elseif($contenttype=='html' and $html<>''){
preg_match_all('/"cid:(.*)"/',$html,$matches);
for ($i=0; $i< count($matches[1]); $i++) {
$html=str_replace('cid:'.$matches[1][$i],'mail_file.php?mailid='.$mailid.'&file='.base64_encode($matches[1][$i]),$html);
}
echo $html;
}elseif($html<>''){
echo $html;
}else{
echo 'No text';
}
include 'disconnect_pop3.php';
?>
///////////////////////
// mail_file.php //
///////////////////////
<?php
require 'mail_header.php';
require 'connect_pop3.php';
//ik ga ervanuit dat bijlage base64 coded is
$buffer="RETR ".$mailid."\r\n";
fputs($mailserver,$buffer);
$data="";
while($buffer<>".\r\n"){
$buffer=fgets($mailserver,512);
if(substr($buffer,0,13)=='Content-Type:'){$type=substr($buffer,14,strpos($buffer,";")-14);}
if(strpos($buffer,"\tname=\"")!==false){
if($file==substr($buffer,strpos($buffer,"name=")+6,strpos($buffer,"\"\r\n")-strpos($buffer,"name=")-6)){$a=1;}
}
if(substr($buffer,0,11)=='Content-ID:'){
if(strpos($buffer,base64_decode($file))!==false){$a=1;}
}
if($a==2 and strpos($buffer,"--")!==false){$a=3;}
if($a==2){$data.=base64_decode($buffer);}
if($a==1 and $buffer=="\r\n"){$a=2;}
}
header('Content-type: '.$type);
header('Content-Disposition: attachment; filename='.$file);
echo $data;
include 'disconnect_pop3.php';
?>
///////////////////////
// mail_source.php //
///////////////////////
<?php
require 'mail_header.php';
require 'connect_pop3.php';
$buffer="RETR ".$mailid."\r\n";
fputs($mailserver,$buffer);
$buffer=fgets($mailserver,512);
while($buffer<>".\r\n"){
$buffer=fgets($mailserver,512);
echo nl2br(htmlspecialchars($buffer));
}
include 'disconnect_pop3.php';
?>
///////////////////////
// mail_delete.php //
///////////////////////
<?php
require 'mail_header.php';
require 'connect_pop3.php';
include 'mail_menu.php';
if(!is_array($delid)){
if($delid<>""){ //mailtjes verwijderen
$buffer="DELE ".$delid."\r\n";
fputs($mailserver,$buffer);
echo 'Mail #'.$delid.' deleted';
}
}else{
for($y=count($delid)-1; $y>=0; $y--){
$buffer="DELE ".$delid[$y]."\r\n";
fputs($mailserver,$buffer);
echo 'Mail #'.$delid[$y].' deleted<br>';
}
}
include 'disconnect_pop3.php';
?>
///////////////////////
// connect_pop3.php //
///////////////////////
<?php
$mailserver=@fsockopen($pop3_server,$pop3_port,&$errno,&$errstr,30);
if(!$mailserver){
die('Connection failed!<br>Return to <a href="index.php">index</a> to retype the pop3 server');
}
// Connection ok
// HELO bericht
$buffer=fgets($mailserver,512);
// USER
$buffer="USER ".$pop3_user."\r\n";
fputs($mailserver,$buffer);
$buffer=fgets($mailserver,512);
// PASS
$buffer="PASS ".$pop3_wachtwoord."\r\n";
fputs($mailserver,$buffer);
// Authentification OK/ERR
$buffer=fgets($mailserver,512);
if (substr($buffer,0,4)=="-ERR") {
include 'disconnect_pop3.php';
die('Invalid password or username!<br>Return to <a href="index.php">index</a> to retype it');
}
// Authentification OK
?>
///////////////////////
//disconnect_pop3.php//
///////////////////////
<?php
// QUIT
$buffer="QUIT\n";
fputs($mailserver, $buffer);
$buffer=fgets($mailserver,512);
// close connection
fclose($mailserver);
?>
///////////////////////
// mail_compose.php //
///////////////////////
<?php require 'mail_header.php'; include 'mail_menu.php'; ?>
<form enctype="multipart/form-data" id=idContentForm name=idContentForm method="post" action="mail_post.php">
<table width=100%>
<tr><th align=right>Atribute</th><th align=center>Value</th><th align=center>Attachments</th></tr>
<tr><td align=right>From:</td><td align=center><input name="from" type="text"></td><td align=center><input type=file name=file1></td></tr>
<tr><td align=right>To:</td><td align=center><input name="to" type="text"></td><td align=center><input type=file name=file2></td></tr>
<tr><td align=right>Cc:</td><td align=center><input name="cc" type="text"></td><td align=center><input type=file name=file3></td></tr>
<tr><td align=right>Bcc:</td><td align=center><input name="bcc" type="text"></td><td align=center><input type=file name=file4></td></tr>
<tr><td align=right>Subject:</td><td align=center><input name="subject" type="text"></td><td align=center><input type=file name=file5></td></tr>
<tr><td align=right>Priority:</td><td align=center><select size="1" name="mspriority"><option>High</option><option selected>Normal</option><option>Low</option></select></td><td align=center></td></tr>
</table>
Message:<br>
<?php if($contenttype!="html"){ ?>
<textarea name="text" rows="15" cols="75"></textarea><br>
<input type=submit name=Send value="Send">
</form>
<?php exit;} ?>
<STYLE TYPE="text/css">
.ToolBarButton {
BORDER-RIGHT: #000000 2px solid;
BORDER-TOP: #C0C0C0 2px solid;
BORDER-LEFT: #C0C0C0 2px solid;
BORDER-BOTTOM: #000000 2px solid;
HEIGHT: 18px;
}
</STYLE>
<SCRIPT TYPE="text/javascript">
Xoffset=-60;
Yoffset= 20;
var old,skn,iex=(document.all),yyy=-1000;
var ns4=document.layers
var ns6=document.getElementById&&!document.all
var ie4=document.all
if (ns4)
skn=document.dek
else if (ns6)
skn=document.getElementById("dek").style
else if (ie4)
skn=document.all.dek.style
if(ns4)document.captureEvents(Event.MOUSEMOVE);
else{
skn.visibility="visible"
skn.display="none"
}
document.onmousemove=get_mouse;
function popup(msg,bak){
var content="<TABLE WIDTH=150 BORDER=0 class=toolbar BORDERCOLOR=black CELLPADDING=2 CELLSPACING=0 "+
"BGCOLOR="+bak+"><TD ALIGN=center><FONT COLOR=black SIZE=2>"+msg+"</FONT></TD></TABLE>";
yyy=Yoffset;
if(ns4){skn.document.write(content);skn.document.close();skn.visibility="visible"}
if(ns6){document.getElementById("dek").innerHTML=content;skn.display=''}
if(ie4){document.all("dek").innerHTML=content;skn.display=''}
}
function get_mouse(e){
var x=(ns4||ns6)?e.pageX:event.x+document.body.scrollLeft;
skn.left=x+Xoffset;
var y=(ns4||ns6)?e.pageY:event.y+document.body.scrollTop;
skn.top=y+yyy;
}
function kill(){
yyy=-1000;
if(ns4){skn.visibility="hidden";}
else if (ns6||ie4)
skn.display="none"
}
var isHTMLMode = false
var isHTMLMsg = "Je kan niks veranderen in de source stand. Zet het 'Source' vinkje uit.";
function button_over(btn) {
btn.style.borderColor = "#C0C0C0";
}
function button_out(btn) {
btn.style.borderColor = "#C0C0C0 #000000 #000000 #C0C0C0";
}
function button_down(btn) {
btn.style.borderColor = "#000000 #C0C0C0 #C0C0C0 #000000";
}
function button_up(btn) {
btn.style.borderColor = "#C0C0C0 #000000 #000000 #C0C0C0";
btn = null;
}
function getContent() {
idContent.document.body.innerHTML = idContentForm.idContentSave.value;
idContent.document.designMode = "On";
}
function exec(cmd,opt) {
if (isHTMLMode) {
alert(isHTMLMsg);
return;
}
idContent.document.execCommand(cmd,"",opt);idContent.focus();
}
function setMode(bMode) {
var t;
isHTMLMode = bMode;
if (isHTMLMode) {
t = idContent.document.body.innerHTML;
idContent.document.body.innerText = t;
} else {
t = idContent.document.body.innerText;
idContent.document.body.innerHTML = t;
}
idContent.focus();
}
function createLink() {
if (isHTMLMode) {
alert(isHTMLMsg);
return;
}
exec("CreateLink");
}
function save() {
if (isHTMLMode) {
setMode(false);
}
idContentForm.idContentSave.value = idContent.document.body.innerHTML;
idContentForm.submit();
}
function preview(){
if (isHTMLMode) {
setMode(false);
}
win = window.open("", 'popup', 'toolbar=1,scrollbars=1,location=1,statusbar=1,menubar=1,resizable=1,status=1');
win.document.write(idContent.document.body.innerHTML);
}
function foreColor() {
if (isHTMLMode) {
alert(isHTMLMsg);
return;
}
var retval = showModalDialog("color.php","","font-family:arial; font-size:12; dialogWidth:350px; dialogHeight:350px;status:no;help:no;");
if (retval != null) exec("ForeColor", retval);
}
function insertimage() {
if (isHTMLMode) {
alert(isHTMLMsg);
return;
}
var retval = prompt('Give the url of the image','http://');
idContent.focus();
if (retval != null) exec("insertimage", retval);
}
function backColor() {
if (isHTMLMode) {
alert(isHTMLMsg);
return;
}
var retval = showModalDialog("color.php","","font-family:arial; font-size:12; dialogWidth:350px; dialogHeight:350px;");
if (retval != null) exec("BackColor", retval);
}
</SCRIPT>
<TABLE class=ToolBar id=idToolbar cellSpacing=0 cellPadding=0
width=100% border=0>
<TBODY>
<TD colSpan=7><SELECT
onchange="exec('formatblock',this[this.selectedIndex].value);"
unselectable="on"> <OPTION selected>Format</OPTION>
<OPTION value="Normal"><P></OPTION><OPTION value="Heading 1"><H1></OPTION>
<OPTION value="Heading 2"><H2></OPTION><OPTION value="Heading 3"><H3></OPTION>
<OPTION value="Heading 4"><H4></OPTION><OPTION value="Heading 5"><H5></OPTION>
<OPTION value="Heading 6"><H6></OPTION><OPTION value="Preformatted"><PRE></OPTION>
<OPTION value="Address"><ADDRESS></OPTION>
</SELECT><SELECT
onchange="exec('fontname',this[this.selectedIndex].value);"
unselectable="on"> <OPTION selected>Font</OPTION>
<OPTION
value=arial,helvetica,sans-serif>Arial</OPTION>
<OPTION value="arial black">Arial Black</OPTION>
<OPTION value="arial narrow">Arial Narrow</OPTION>
<OPTION value="comic sans ms">Comic Sans MS</OPTION>
<OPTION value="courier new">Courier New</OPTION>
<OPTION value=system>System</OPTION> <OPTION
value=tahoma>Tahoma</OPTION> <OPTION
value="times new roman">Times New Roman</OPTION>
<OPTION value=verdana>Verdana</OPTION> <OPTION
value=wingdings>Windings</OPTION></SELECT> <SELECT
onchange="exec('fontsize',this[this.selectedIndex].value);"
unselectable="on"> <OPTION selected>Size</OPTION>
<OPTION value=1>1</OPTION> <OPTION value=2>2</OPTION>
<OPTION value=3>3</OPTION> <OPTION value=4>4</OPTION>
<OPTION value=5>5</OPTION> <OPTION value=6>6</OPTION>
<OPTION value=7>7</OPTION></SELECT> </TD>
<TD align=center>
<DIV onmouseup=button_up(this); class=ToolBarButton
onmousedown=button_down(this);
onmouseover=button_over(this);
onclick="exec('JustifyLeft');"
onmouseout=button_out(this); unselectable="on">
<IMG
alt="Left justify" hspace=1
src="images/justifyleft.gif"
align=absMiddle vspace=1 unselectable="on" width="23" height="22"> </DIV></TD>
<TD align=center>
<DIV onmouseup=button_up(this); class=ToolBarButton
onmousedown=button_down(this);
onmouseover=button_over(this);
onclick="exec('JustifyCenter');"
onmouseout=button_out(this); unselectable="on">
<IMG
alt=Center hspace=1
src="images/justifycenter.gif"
align=absMiddle vspace=1 unselectable="on" width="23" height="22"> </DIV></TD>
<TD align=center>
<DIV onmouseup=button_up(this); class=ToolBarButton
onmousedown=button_down(this);
onmouseover=button_over(this);
onclick="exec('JustifyRight');"
onmouseout=button_out(this); unselectable="on">
<IMG
alt="Right justify" hspace=1
src="images/justifyright.gif"
align=absMiddle vspace=1 unselectable="on" width="23" height="22"> </DIV></TD>
<TD align=left colSpan=7>
<INPUT
onclick=setMode(this.checked); type=checkbox
unselectable="on" value="ON">Source </TD></TR>
<TR>
<TD align=center>
<DIV onmouseup=button_up(this); class=ToolBarButton
onmousedown=button_down(this);
onmouseover=button_over(this); onclick="exec('Cut');"
onmouseout=button_out(this); unselectable="on">
<IMG
alt=Cut hspace=1
src="images/cut.gif"
align=absMiddle vspace=1 unselectable="on" width="23" height="22"> </DIV></TD>
<TD align=center>
<DIV onmouseup=button_up(this); class=ToolBarButton
onmousedown=button_down(this);
onmouseover=button_over(this); onclick="exec('Copy');"
onmouseout=button_out(this); unselectable="on">
<IMG
alt=Copy hspace=1
src="images/copy.gif"
align=absMiddle vspace=1 unselectable="on" width="23" height="22"> </DIV></TD>
<TD align=center>
<DIV onmouseup=button_up(this); class=ToolBarButton
onmousedown=button_down(this);
onmouseover=button_over(this); onclick="exec('Paste');"
onmouseout=button_out(this); unselectable="on">
<IMG
alt=Paste hspace=1
src="images/paste.gif"
align=absMiddle vspace=1 unselectable="on" width="23" height="22"> </DIV></TD>
<TD align=center>
<DIV onmouseup=button_up(this); class=ToolBarButton
onmousedown=button_down(this);
onmouseover=button_over(this); onclick="exec('Bold');"
onmouseout=button_out(this); unselectable="on">
<IMG
alt=Bold hspace=1
src="images/bold.gif"
align=absMiddle vspace=1 unselectable="on" width="23" height="22"> </DIV></TD>
<TD align=center>
<DIV onmouseup=button_up(this); class=ToolBarButton
onmousedown=button_down(this);
onmouseover=button_over(this); onclick="exec('Italic');"
onmouseout=button_out(this); unselectable="on">
<IMG
alt=Italic hspace=1
src="images/italic.gif"
align=absMiddle vspace=1 unselectable="on" width="23" height="22"> </DIV></TD>
<TD align=center>
<DIV onmouseup=button_up(this); class=ToolBarButton
onmousedown=button_down(this);
onmouseover=button_over(this);
onclick="exec('Underline');"
onmouseout=button_out(this); unselectable="on">
<IMG
alt=Underline hspace=1
src="images/underline.gif"
align=absMiddle vspace=1 unselectable="on" width="23" height="22"> </DIV></TD>
<TD align=center>
<DIV onmouseup=button_up(this); class=ToolBarButton
onmousedown=button_down(this);
onmouseover=button_over(this);
onclick="exec('StrikeThrough');"
onmouseout=button_out(this); unselectable="on">
<IMG
alt=Strikethrough hspace=1
src="images/strikethrough.gif"
align=absMiddle vspace=1 unselectable="on" width="23" height="22"> </DIV></TD>
<TD align=center>
<DIV onmouseup=button_up(this); class=ToolBarButton
onmousedown=button_down(this);
onmouseover=button_over(this);
onclick="exec('Superscript');"
onmouseout=button_out(this); unselectable="on">
<IMG
alt=Superscript hspace=1
src="images/superscript.gif"
align=absMiddle vspace=1 unselectable="on" width="23" height="22"> </DIV></TD>
<TD align=center>
<DIV onmouseup=button_up(this); class=ToolBarButton
onmousedown=button_down(this);
onmouseover=button_over(this);
onclick="exec('Subscript');"
onmouseout=button_out(this); unselectable="on">
<IMG
alt=Subscript hspace=1
src="images/subscript.gif"
align=absMiddle vspace=1 unselectable="on" width="23" height="22"> </DIV></TD>
<TD align=center>
<DIV onmouseup=button_up(this); class=ToolBarButton
onmousedown=button_down(this);
onmouseover=button_over(this);
onclick="exec('RemoveFormat');"
onmouseout=button_out(this); unselectable="on">
<IMG
alt="Remove formatting" hspace=1
src="images/plain.gif"
align=absMiddle vspace=1 unselectable="on" width="23" height="22"> </DIV></TD>
<TD align=center>
<DIV onmouseup=button_up(this); class=ToolBarButton
onmousedown=button_down(this);
onmouseover=button_over(this);
onclick="exec('InsertHorizontalRule');"
onmouseout=button_out(this); unselectable="on">
<IMG
alt="Horizontal rule" hspace=1
src="images/rule.gif"
align=absMiddle vspace=1 unselectable="on" width="23" height="22"> </DIV></TD>
<TD align=center>
<DIV onmouseup=button_up(this); class=ToolBarButton
onmousedown=button_down(this);
onmouseover=button_over(this);
onclick="exec('InsertOrderedList');"
onmouseout=button_out(this); unselectable="on">
<IMG
alt="Ordered List" hspace=2
src="images/orderedlist.gif"
align=absMiddle vspace=1 unselectable="on" width="23" height="22"> </DIV></TD>
<TD align=center>
<DIV onmouseup=button_up(this); class=ToolBarButton
onmousedown=button_down(this);
onmouseover=button_over(this);
onclick="exec('InsertUnorderedList');"
onmouseout=button_out(this); unselectable="on">
<IMG
alt="Unordered List" hspace=2
src="images/unorderedlist.gif"
align=absMiddle vspace=1 unselectable="on" width="23" height="22"> </DIV></TD>
<TD align=center>
<DIV onmouseup=button_up(this); class=ToolBarButton
onmousedown=button_down(this);
onmouseover=button_over(this);
onclick="exec('Outdent');" onmouseout=button_out(this);
unselectable="on">
<IMG alt="Decrease Indent" hspace=2
src="images/outdent.gif"
align=absMiddle vspace=1 unselectable="on" width="23" height="22"> </DIV></TD>
<TD align=center>
<DIV onmouseup=button_up(this); class=ToolBarButton
onmousedown=button_down(this);
onmouseover=button_over(this); onclick="exec('Indent');"
onmouseout=button_out(this); unselectable="on">
<IMG
alt="Increase Indent" hspace=2
src="images/indent.gif"
align=absMiddle vspace=1 unselectable="on" width="23" height="22"> </DIV></TD>
<TD align=center>
<DIV onmouseup=button_up(this); class=ToolBarButton
onmousedown=button_down(this);
onmouseover=button_over(this); onclick=foreColor()
onmouseout=button_out(this); unselectable="on">
<IMG
alt="Text color" hspace=2
src="images/fgcolor.gif"
align=absMiddle vspace=1 unselectable="on" width="23" height="22"> </DIV></TD>
<TD align=center>
<DIV onmouseup=button_up(this); class=ToolBarButton
onmousedown=button_down(this);
onmouseover=button_over(this);
onclick="exec('CreateLink');"
onmouseout=button_out(this); unselectable="on">
<IMG
alt=Link hspace=2
src="images/Link.gif"
align=absMiddle vspace=1 unselectable="on" width="23" height="22"> </DIV></TD>
<TD align=center>
<DIV onmouseup=button_up(this); class=ToolBarButton
onmousedown=button_down(this);
onmouseover=button_over(this);
onclick="insertimage();"
onmouseout=button_out(this); unselectable="on">
<IMG
alt=Image hspace=2
src="images/image.gif"
align=absMiddle vspace=1 unselectable="on" width="23" height="22">
</DIV></TD></TR></TBODY></TABLE>
<textarea id=idContentSave name="html" rows="0" cols="0" style="position:absolute;visibility:hidden;"></textarea>
<IFRAME id=idContent name="idContent" src="about:blank" height=40% width=100% onload=javascript:getContent(); height=300>
</IFRAME><br>
<input type="button" value="Preview" onClick="javascript:preview()"><input type="submit" name=Send value="Send" onClick="javascript:save()">
</form>
///////////////////////
// mail_post.php //
///////////////////////
<?php
require 'mail_header.php';
include 'mail_menu.php';
//from to cc bcc mspriority subject text html
$html=$html?$html:preg_replace("/\n/","<br>",$text) or die("neither text nor html part present.");
$text=$text?$text:strip_tags($html);
$OB="----=_OuterBoundary_000";
$IB="----=_InnerBoundery_001";
if($mspriority=="High"){
$priority=1;
}elseif($mspriority=="Low"){
$priority=5;
}else{
$priority=3;
$mspriority="Normal";
}
$mailserver=@fsockopen($smtp_server,$smtp_port,&$errno,&$errstr,30);
if(!$mailserver){
die('Connection failed!<br>Return to <a href="index.php">index</a> to retype the smtp server');
}
$buffer=fgets($mailserver,512);
if($auth=="login"){
$buffer="AUTH LOGIN\n";
fputs($mailserver,$buffer);
$buffer=fgets($mailserver,512);
$buffer=base64_encode($user)."\r\n";
fputs($mailserver,$buffer);
$buffer=fgets($mailserver,512);
$buffer=base64_encode($pass)."\r\n";
fputs($mailserver,$buffer);
$buffer=fgets($mailserver,512);
}elseif($auth=="plain"){
$buffer="AUTH PLAIN ".base64_encode("$pop3_user".chr(0)."$pop3_user".chr(0)."$pop3_wachtwoord")."\n";
fputs($mailserver,$buffer);
$buffer=fgets($mailserver,512);
}
$buffer="MAIL FROM: ".$from."\r\n";
fputs($mailserver,$buffer);
$buffer=fgets($mailserver,512);
$buffer="RCPT TO: ".$to."\r\n";
fputs($mailserver,$buffer);
$buffer=fgets($mailserver,512);
$buffer="DATA\r\n";
fputs($mailserver,$buffer);
$buffer=fgets($mailserver,512);
$buffer="MIME-Version: 1.0\r\n";
fputs($mailserver,$buffer);
$buffer="From: ".$from."\r\n";
fputs($mailserver,$buffer);
$buffer="To: ".$to."\r\n";
fputs($mailserver,$buffer);
$buffer="Reply-To: ".$from."\r\n";
fputs($mailserver,$buffer);
$buffer="Cc: ".$cc."\r\n";
fputs($mailserver,$buffer);
$buffer="Bcc: ".$bcc."\r\n";
fputs($mailserver,$buffer);
$buffer="Subject: ".$subject."\r\n";
fputs($mailserver,$buffer);
$buffer="X-Priority: ".$priority."\r\n";
fputs($mailserver,$buffer);
$buffer="X-MSMail-Priority: ".$mspriority."\r\n";
fputs($mailserver,$buffer);
$buffer="X-Mailer: Basvm's PHP Mailer\r\n";
fputs($mailserver,$buffer);
$buffer="Content-Type: multipart/mixed;\r\n\tboundary=\"".$OB."\"\r\n";
fputs($mailserver,$buffer);
$buffer="\r\n--".$OB."\r\n";
fputs($mailserver,$buffer);
$buffer="Content-Type: multipart/alternative;\r\n\tboundary=\"".$IB."\"\r\n\r\n";
fputs($mailserver,$buffer);
//plaintext section
$buffer="\r\n--".$IB."\r\n";
fputs($mailserver,$buffer);
$buffer="Content-Type: text/plain;\r\n\tcharset=\"iso-8859-1\"\r\n";
fputs($mailserver,$buffer);
$buffer="Content-Transfer-Encoding: quoted-printable\r\n\r\n";
fputs($mailserver,$buffer);
$buffer=$text."\r\n\r\n";
fputs($mailserver,$buffer);
// html section
$buffer="\r\n--".$IB."\r\n";
fputs($mailserver,$buffer);
$buffer="Content-Type: text/html;\r\n\tcharset=\"iso-8859-1\"\r\n";
fputs($mailserver,$buffer);
$buffer="Content-Transfer-Encoding: base64\r\n\r\n";
fputs($mailserver,$buffer);
$buffer=chunk_split(base64_encode($html))."\r\n\r\n";
fputs($mailserver,$buffer);
$buffer="\r\n--".$IB."\r\n";
fputs($mailserver,$buffer);
foreach($_FILES as $key=>$value) {
if(is_uploaded_file($_FILES[$key]["tmp_name"])) {
$buffer="\r\n--".$OB."\r\n";
fputs($mailserver,$buffer);
$buffer="Content-Type: application/octetstream;\r\n\tname=\"".$_FILES[$key]["name"]."\"\r\n";
fputs($mailserver,$buffer);
$buffer="Content-Transfer-Encoding: base64\r\n";
fputs($mailserver,$buffer);
$buffer="Content-Disposition: attachment;\r\n\tfilename=\"".$_FILES[$key]["name"]."\"\r\n\r\n";
fputs($mailserver,$buffer);
$filehandle = fopen($_FILES[$key]["tmp_name"], "rb") or die("Can't open file!");
$buffer = chunk_split(base64_encode(fread($filehandle,$_FILES[$key]["size"])));
fclose ($filehandle);
fputs($mailserver,$buffer);
$buffer = "\r\n\r\n";
fputs($mailserver,$buffer);
}
}
$buffer="\r\n--".$OB."\r\n";
fputs($mailserver,$buffer);
$buffer="\r\n.\r\n";
fputs($mailserver,$buffer);
$buffer=fgets($mailserver,512);
fclose($mailserver);
echo 'mail send';
?>
///////////////////////
// color.php //
///////////////////////
<HTML><HEAD><TITLE>Select Color</TITLE>
<META http-equiv=Content-Type content="text/html; charset=windows-1252">
<STYLE type=text/css>BODY {
FONT-SIZE: 12px; MARGIN-LEFT: 10px; FONT-FAMILY: verdana
}
</STYLE>
<SCRIPT language=javascript event=onclick for=idColor>
window.returnValue = event.srcElement.bgColor;
window.close();
</SCRIPT>
<SCRIPT language=javascript event=onmouseover for=idColor>
text = event.srcElement.title;
if (text != event.srcElement.bgColor) {
text += " (" + event.srcElement.bgColor + ")";
}
idColorText.innerText = text;
idColorBlock.bgColor = event.srcElement.bgColor;
</SCRIPT>
<META content="MSHTML 6.00.2715.400" name=GENERATOR></HEAD>
<BODY bgColor=#ffffff>
<DIV>
<DIV>
<DIV align=center>
<TABLE cellSpacing=0 cellPadding=2 border=0>
<TBODY>
<TR>
<TD bgColor=#000000>
<TABLE id=idColor cellSpacing=1 cellPadding=0 border=0>
<TBODY>
<TR>
<TD title=black bgColor=black> </TD>
<TD title=navy bgColor=navy> </TD>
<TD title=darkblue bgColor=darkblue> </TD>
<TD title=mediumblue bgColor=mediumblue> </TD>
<TD title=blue bgColor=blue> </TD>
<TD title=darkgreen bgColor=darkgreen> </TD>
<TD title=green bgColor=green> </TD>
<TD title=teal bgColor=teal> </TD>
<TD title=darkcyan bgColor=darkcyan> </TD>
<TD title=deepskyblue bgColor=deepskyblue> </TD>
<TD title=darkturquoise bgColor=darkturquoise> </TD>
<TD title=mediumspringgreen
bgColor=mediumspringgreen> </TD>
<TD title=lime bgColor=lime> </TD>
<TD title=springgreen bgColor=springgreen> </TD>
<TD title=aqua bgColor=aqua> </TD>
<TD title=cyan bgColor=cyan> </TD></TR>
<TR>
<TD title=midnightblue bgColor=midnightblue> </TD>
<TD title=dodgerblue bgColor=dodgerblue> </TD>
<TD title=lightseagreen bgColor=lightseagreen> </TD>
<TD title=forestgreen bgColor=forestgreen> </TD>
<TD title=seagreen bgColor=seagreen> </TD>
<TD title=darkslategray bgColor=darkslategray> </TD>
<TD title=limegreen bgColor=limegreen> </TD>
<TD title=mediumseagreen
bgColor=mediumseagreen> </TD>
<TD title=turquoise bgColor=turquoise> </TD>
<TD title=royalblue bgColor=royalblue> </TD>
<TD title=steelblue bgColor=steelblue> </TD>
<TD title=darkslateblue bgColor=darkslateblue> </TD>
<TD title=mediumturquoise
bgColor=mediumturquoise> </TD>
<TD title=indigo bgColor=indigo> </TD>
<TD title=darkolivegreen
bgColor=darkolivegreen> </TD>
<TD title=cadetblue bgColor=cadetblue> </TD></TR>
<TR>
<TD title=mediumaquamarine
bgColor=mediumaquamarine> </TD>
<TD title=dimgray bgColor=dimgray> </TD>
<TD title=slateblue bgColor=slateblue> </TD>
<TD title=olivedrab bgColor=olivedrab> </TD>
<TD title=slategray bgColor=slategray> </TD>
<TD title=lightslategray
bgColor=lightslategray> </TD>
<TD title=mediumslateblue
bgColor=mediumslateblue> </TD>
<TD title=lawngreen bgColor=lawngreen> </TD>
<TD title=lawngreen bgColor=lawngreen> </TD>
<TD title=chartreuse bgColor=chartreuse> </TD>
<TD title=aquamarine bgColor=aquamarine> </TD>
<TD title=maroon bgColor=maroon> </TD>
<TD title=purple bgColor=purple> </TD>
<TD title=olive bgColor=olive> </TD>
<TD title=gray bgColor=gray> </TD>
<TD title=skyblue bgColor=skyblue> </TD></TR>
<TR>
<TD title=lightskyblue bgColor=lightskyblue> </TD>
<TD title=blueviolet bgColor=blueviolet> </TD>
<TD title=darkred bgColor=darkred> </TD>
<TD title=darkmagenta bgColor=darkmagenta> </TD>
<TD title=saddlebrown bgColor=saddlebrown> </TD>
<TD title=darkseagreen bgColor=darkseagreen> </TD>
<TD title=lightgreen bgColor=lightgreen> </TD>
<TD title=mediumpurple bgColor=mediumpurple> </TD>
<TD title=darkviolet bgColor=darkviolet> </TD>
<TD title=palegreen bgColor=palegreen> </TD>
<TD title=darkorchid bgColor=darkorchid> </TD>
<TD title=yellowgreen bgColor=yellowgreen> </TD>
<TD title=sienna bgColor=sienna> </TD>
<TD title=brown bgColor=brown> </TD>
<TD title=darkgray bgColor=darkgray> </TD>
<TD title=lightblue bgColor=lightblue> </TD></TR>
<TR>
<TD title=greenyellow bgColor=greenyellow> </TD>
<TD title=paleturquoise bgColor=paleturquoise> </TD>
<TD title=lightsteelblue
bgColor=lightsteelblue> </TD>
<TD title=powderblue bgColor=powderblue> </TD>
<TD title=firebrick bgColor=firebrick> </TD>
<TD title=darkgoldenrod bgColor=darkgoldenrod> </TD>
<TD title=mediumorchid bgColor=mediumorchid> </TD>
<TD title=rosybrown bgColor=rosybrown> </TD>
<TD title=darkkhaki bgColor=darkkhaki> </TD>
<TD title=silver bgColor=silver> </TD>
<TD title=cornflower bgColor=#c0f0e0> </TD>
<TD title=mediumvioletred
bgColor=mediumvioletred> </TD>
<TD title=indianred bgColor=indianred> </TD>
<TD title=peru bgColor=peru> </TD>
<TD title=chocolate bgColor=chocolate> </TD>
<TD title=tan bgColor=tan> </TD></TR>
<TR>
<TD title=lightgrey bgColor=lightgrey> </TD>
<TD title=thistle bgColor=thistle> </TD>
<TD title=orchid bgColor=orchid> </TD>
<TD title=goldenrod bgColor=goldenrod> </TD>
<TD title=palevioletred bgColor=palevioletred> </TD>
<TD title=crimson bgColor=crimson> </TD>
<TD title=gainsboro bgColor=gainsboro> </TD>
<TD title=plum bgColor=plum> </TD>
<TD title=burlywood bgColor=burlywood> </TD>
<TD title=lightcyan bgColor=lightcyan> </TD>
<TD title=lavender bgColor=lavender> </TD>
<TD title=darksalmon bgColor=darksalmon> </TD>
<TD title=violet bgColor=violet> </TD>
<TD title=palegoldenrod bgColor=palegoldenrod> </TD>
<TD title=lightcoral bgColor=lightcoral> </TD>
<TD title=fuchia bgColor=#f0c00a> </TD></TR>
<TR>
<TD title=khaki bgColor=khaki> </TD>
<TD title=aliceblue bgColor=aliceblue> </TD>
<TD title=honeydew bgColor=honeydew> </TD>
<TD title=azure bgColor=azure> </TD>
<TD title=sandybrown bgColor=sandybrown> </TD>
<TD title=wheat bgColor=wheat> </TD>
<TD title=beige bgColor=beige> </TD>
<TD title=whitesmoke bgColor=whitesmoke> </TD>
<TD title=mintcream bgColor=mintcream> </TD>
<TD title=ghostwhite bgColor=ghostwhite> </TD>
<TD title=salmon bgColor=salmon> </TD>
<TD title=antiquewhite bgColor=antiquewhite> </TD>
<TD title=linen bgColor=linen> </TD>
<TD title=lightgoldenrodyellow
bgColor=lightgoldenrodyellow> </TD>
<TD title=oldlace bgColor=oldlace> </TD>
<TD title=red bgColor=red> </TD></TR>
<TR>
<TD title=magenta bgColor=magenta> </TD>
<TD title=deeppink bgColor=deeppink> </TD>
<TD title=orangered bgColor=orangered> </TD>
<TD title=tomato bgColor=tomato> </TD>
<TD title=hotpink bgColor=hotpink> </TD>
<TD title=coral bgColor=coral> </TD>
<TD title=darkorange bgColor=darkorange> </TD>
<TD title=lightsalmon bgColor=lightsalmon> </TD>
<TD title=orange bgColor=orange> </TD>
<TD title=lightpink bgColor=lightpink> </TD>
<TD title=pink bgColor=pink> </TD>
<TD title=gold bgColor=gold> </TD>
<TD title=peachpuff bgColor=peachpuff> </TD>
<TD title=navajowhite bgColor=navajowhite> </TD>
<TD title=moccasin bgColor=moccasin> </TD>
<TD title=bisque bgColor=bisque> </TD></TR>
<TR>
<TD title=mistyrose bgColor=mistyrose> </TD>
<TD title=blanchedalmond
bgColor=blanchedalmond> </TD>
<TD title=papayawhip bgColor=papayawhip> </TD>
<TD title=lavenderblush bgColor=lavenderblush> </TD>
<TD title=seashell bgColor=seashell> </TD>
<TD title=cornsilk bgColor=cornsilk> </TD>
<TD title=lemonchiffon bgColor=lemonchiffon> </TD>
<TD title=floralwhite bgColor=floralwhite> </TD>
<TD title=snow bgColor=snow> </TD>
<TD title=yellow bgColor=yellow> </TD>
<TD title=lightyellow bgColor=lightyellow> </TD>
<TD title=ivory bgColor=ivory> </TD>
<TD title=white bgColor=white> </TD>
<TD title=green2 bgColor="#487870"> </TD>
</TR></TBODY></TABLE></TD></TR></TBODY></TABLE><BR><SPAN
id=idColorText> </SPAN> <BR>
<TABLE id=idColorBlock height=35 cellSpacing=0 cellPadding=0 width=50
border=1><TBODY>
<TR>
<TD width=25
height=25></TD></TR></TBODY></TABLE></DIV></DIV></DIV></BODY></HTML>