Mercury Mail

Irgendwelche Probleme mit XAMPP für Windows? Dann ist hier genau der richtige Ort um nachzufragen.

Mercury Mail

Postby Banaszak » 30. March 2010 07:33

Hallo user,
nachdem ich alles durchgeforstet habe bin ich mit meinem latein am ende. Internes Netzwerk ohne anbindung nach draußen, xammp läuft und Mercury läuft. Der server hat die IP 192.168.0.3. Mailversand über Outlook im netz funktioniert. in outlook ist für smtp und pop3 die ip Adresse eingetragen. die in mercury angelegten accounts funktionieren. in htdocs ist ein verzeichnis WIMN dort ist eine Webseite von der eine online übung aufgerufen werden kann. am ende der übung soll eine email an einen mercury account mit den ergebnissen gesendet werden. das script dafür liegt im verzeichnis WIMN . im browser wird angezeigt das diemail versand worden ist. sie kommt aber nicht an. Im apache error log steht unknown smtp server 192.168.0.3
Ich weiß nicht welche einstellung ich noch machen muß damit die mail ankommt
gruß
ulli banaszak
Banaszak
 
Posts: 4
Joined: 30. March 2010 07:23

Re: Mercury Mail

Postby Nobbie » 30. March 2010 10:46

Banaszak wrote: Im apache error log steht unknown smtp server 192.168.0.3


Da wird er wohl Recht haben, mit anderen Worten Mercury lauscht nicht auf dieser IP, sondern (wahrscheinlich) nur auf 127.0.0.1. Also entweder gibst Du in php.ini die SMTP IP richtig an (127.0.0.1) oder sagst Mercury, dass er auch auf 192.168.0.3 lauschen soll (da könnte aber erfahrungsgemäß eine Windows Firewall zwischenfunken).
Nobbie
 
Posts: 13179
Joined: 09. March 2008 13:04

Re: Mercury Mail

Postby Banaszak » 30. March 2010 12:21

In der Mercury ini steht überall die 192.168.0.3 und unter Domains
[Domains]
localhost: localhost
localhost: [127.0.0.1]
localhost: 192.168.0.3
localhost: 192.168.0.3\wimn
In der php.ini steht:
[mail function]
; For Win32 only.
; http://php.net/smtp
SMTP = 127.0.0.1
; http://php.net/smtp-port
smtp_port = 25
auch wenn ich in der php.ini auf 192.168.0.3 einstelle geht es nicht.
sendmail.ini
smtp_server=localhost

Auf keinem Rechner läuft eine Firewall
gruß
ulli
Banaszak
 
Posts: 4
Joined: 30. March 2010 07:23

Re: Mercury Mail

Postby Nobbie » 30. March 2010 12:46

Banaszak wrote:In der Mercury ini steht überall die 192.168.0.3 und unter Domains
[Domains]
localhost: localhost
localhost: [127.0.0.1]
localhost: 192.168.0.3
localhost: 192.168.0.3\wimn


Das ist aber Quatsch, das ist die total falsche Stelle. Du mußt nicht im Core Modul, sondern im "Mercury SMTP Server" auf dem ersten Tab "General" die Einträge "Listen on TCP/IP port" (da muss 25 stehen) und "IP Interface to use" (und da muss das stehen, was in php.ini bei SMTP steht) anpassen.
Nobbie
 
Posts: 13179
Joined: 09. March 2008 13:04

Re: Mercury Mail

Postby Banaszak » 30. March 2010 13:17

in der php.ini steht die 192.168.0.3
Mercury smtp server steht ip interface to use die 192.168.0.3 , mit dieser einstellung funktioniert der mailverkehr über outlook im netz einwandfrei.
was nicht funktioniert ist wenn ich das phpmailer script auf der domain 192.168.0.3/WIMN anspreche.
die rückmeldung im browser ist, das die mail versendet wurde. aber kommt eben nicht an
Banaszak
 
Posts: 4
Joined: 30. March 2010 07:23

Re: Mercury Mail

Postby Nobbie » 30. March 2010 14:56

>phpmailer script

Was ist das phpmailer script?

>192.168.0.3/WIMN

Das ist kein gültiger Domainname
Nobbie
 
Posts: 13179
Joined: 09. March 2008 13:04

Re: Mercury Mail

Postby Banaszak » 31. March 2010 14:02

So, habe jetzt alles abgeändert. im internen netz ist über www.irgendwas.xxxx eine webseite erreichbar. An dieser stelle liegt folgendes script, welches von anderen rechnern aufgerufen wird nachdem eine Übung beendet wird, es kommt eine Rückmeldung das die email versandt wurde , aber Sie kommt nicht an
:
<?php






/******************************************************************************
* START SKRIPT-KONFIGURARTION
******************************************************************************/

/*------------------------------------------------------------------
Score-Kontrolle
------------------------------------------------------------------*/
// Es kann sehr sinnvoll sein, dass Resultate erst ab einem ge-
// wissen Score als Mail weitergeleitet oder gespeichert werden.
// Hier wird der dafuer noetige Minimal-Score angegeben.
// Moegliche Angaben:
// $min_score = "80"; [nur Zahl ohne Prozentzeichen]
$min_score = 30;




/*------------------------------------------------------------------
MAILVERSAND
------------------------------------------------------------------*/
// Die erlaubten Empfaengeradressen von eMails koennen in den
// folgenden Einstellungen genauer definiert werden. Das Ziel dabei
// ist es die Benutzer dieses Skripts einzuschraenken.


// Hier kann angegeben werden, ob das Skript die Ergebnisse der
// Uebungen grundsaetzlich verschicken soll oder nicht.
// Moeglich Angaben:
// $send_mail = true; //Mails werden verschickt
// $send_mail = false; //Mails werden nicht verschickt
$send_mail = true;


// Falls hier eine oder mehrere Adressen eingetragen werden, werden
// die Benachrichtigungen nur an diese Adressen geschickt. Die in
// Hot Potatoes gemachten Angaben werden ignoriert.
// Wird hier keine (korrekte) Adresse angegeben, werden die Mail-
// Benachrichtigungen an die in Hot Potatoes angegebene eMail-Adressen
// geschickt.
// Moegliche Angaben:
// $master_recipients = "";
// $master_recipients = "info@banaszak.org";
// $master_recipients = "a.stern@schule.educanet2.ch,b.lumen@gmx.ch";
$master_recipients = "user100@192.168.0.3";


// An die hier eingetragenen Adressen wird ein Blindmail verschickt.
//
// Moegliche Angaben:
// $bcc_recipients = ""; //kein Blindmail verschicken
// $bcc_recipients = "a.stern@schule.educanet2.ch";
// $bcc_recipients = "a.stern@schule.educanet2.ch,b.lumen@gmx.ch";
$bcc_recipients = "";


// Hier koennen eMail-Adressen oder Domains eingetragen werden.
// Mails an die in Hot Patatoes gemachten eMail-Empfaenger
// werden dann nur verschickt, wenn sie in der untenstehenden
// Liste aufgefuehrt sind. Damit kann der Personenkreis, der
// dieses Skript nutzen darf, eingeschraenkt.
// Moegliche Angaben:
// $allowed_hotpot_addresses = ""; //Alle Adressen erlaubt
// $allowed_hotpot_addresses = "a.stern@schule.educanet2.ch";
// $allowed_hotpot_addresses = "a.stern@schule.educanet2.ch,b.lumen@gmx.ch";
// $allowed_hotpot_addresses = "*@schule.educanet2.ch";
$allowed_hotpot_addresses = "";


// Hier kann angegeben werden, an welche Adressen keine Mails
// geschickt werden sollen. Mit dieser schwarzen Liste
// koennen bestimmte Personengruppen davon abgehalten werden,
// dieses Skript einzusetzen.
// Moegliche Angaben:
// $banned_hotpot_addresses = ""; //Keine Adressen verboten
// $banned_hotpot_addresses = "a.stern@schule.educanet2.ch";
// $banned_hotpot_addresses = "a.stern@schule.educanet2.ch,b.lumen@gmx.ch";
// $banned_hotpot_addresses = "*@schule.educanet2.ch";
$banned_hotpot_addresses = "";


// Hier kann bestimmt werden durch welches Zeichenfolge
// das @-Zeichen ersetzt werden soll. In Hot Potatoes
// wird dann bei der eMail-Adresse nicht das @-Zeichen,
// sondern ein Ersatz eingetragen (b.lumen-at-gmx.ch
// statt b.lumen@gmx.ch). Dies ist als SPAM-
// Schutz zu verstehen, da die richtige Adresse im
// Quellcode der Uebung nicht zu sehen ist.
// Moegliche Angaben:
// $at_code = "";
// $at_code = "-at-"; //Standard
// $at_code = "-at-,-bei-,+++";
$at_code = "";





/*------------------------------------------------------------------
Server der Uebung (Referer-Check)
------------------------------------------------------------------*/
// Hier kann angegeben werden, ob die Herkunft der Uebungsdatei
// ueberprueft werden soll oder nicht. Falls ja, werden nur Uebungen
// akzeptiert, die auf dem gleichen Server liegen, wie dieses Skript.
// Zudem koennen weitere erlaubte Server bei $allowed_referers
// angegeben werden.
// Moegliche Angaben:
// $check_referer = true; //Herkunft der Uebung wird ueberprueft
// $check_referer = false;
$check_referer = false;



// Hier kann angegeben werden, von welchen Servern das Skript be-
// nutzt werden darf. Standardmaessig darf dieses Skript von allen
// Uebungen auf der gleichen Domain (inkl. alle Subdomains) ge-
// nutzt werden.
// Falls weitere Domains erlaubt sein sollen, koennen diese hier
// angegeben werden.
// Moegliche Angaben:
// $allowed_referers = ""; //nur eigener Server erlaubt
// $allowed_referers = "educanet2.ch";
// $allowed_referers = "educanet2.ch,bullino.ch";
$allowed_referers = "";


// Die Absenderkennung (Referer) kann durch den Browser oder
// durch eine Firewall unterdrueckt werden. Mit dieser Option
// kann angegeben werden werden, ob leere Referer geblockt
// werden sollen.
// Moegliche Angaben:
// $block_empty_referers = true; //leere Referer blocken
// $block_empty_referers = false; //leere Referer nicht blocken
$block_empty_referers = false;


/******************************************************************************
* ENDE SKRIPT-KONFIGURARTION - AB HIER NICHTS MEHR AENDERN
******************************************************************************/















//----------------------------------------------------------------------
//make arrays from configuration-strings
$master_recipients = make_array($master_recipients);
$bcc_recipients = make_array($bcc_recipients);
$allowed_hotpot_addresses = make_array($allowed_hotpot_addresses);
$banned_hotpot_addresses = make_array($banned_hotpot_addresses);
$at_code = make_array($at_code);
$allowed_referers = make_array($allowed_referers);

//----------------------------------------------------------------------
//init check-variables
$check = array();
$check['formsent'] = false; //formdata is submitted or not
$check['referer'] = false; //referer ok or not
$check['recipients'] = false; //correct recipients existing
$check['mailsent'] = false; //mail is sent or not
$check['score'] = false; //succeded exercise
$check['realname'] = false; //realname is set or not

//----------------------------------------------------------------------
//init html-messages
$msg = array();
$msg['wrongreferer'] = "Sie haben keine Berechtigung dieses Skript auszuf&uuml;hren (Wrong Referer). Es wurden keine Daten &uuml;bermittelt.";
$msg['congratulation'] = "Herzliche Gratulation! Die &Uuml;bung ist bestanden.";
$msg['nosuccess'] = "Das minimale Ergebnis von <b>$min_score%</b> wurde leider nicht erreicht. Es wurden keine Daten &uuml;bermittelt. Bitte versuchen Sie es erneut.";
$msg['novalidrecipients'] = "Es sind keine korrekten eMail-Adressen vorhanden. Es wurden keine Daten &uuml;bermittelt. Bitte benachrichtigen Sie den Hersteller der &Uuml;bung.";
$msg['norealname'] = "Sie haben keinen Namen eingetragen. Es wurden keine Daten &uuml;bermittelt.";
$msg['sendmail_off'] = "Das Versenden der Ergebnisse ist deaktiviert. Es wurden keine Daten &uuml;bermittelt.";
$msg['mailsent'] = "Das Ergebnis wurde erfolgreich an folgende eMail-Adresse(n) versandt:";
$msg['mailnotsent'] = "Leider konnte das Mail mit den &Uuml;bungsresultaten nicht verschickt werden. Bitte benachrichtigen Sie den Hersteller der &Uuml;bung oder den Administrator dieses Skriptes.";

//----------------------------------------------------------------------
//html-output messages
$msg_output = "";
$errormsg_output = "";


//----------------------------------------------------------------------
//collect all data, if form is sent
if(isset($_POST['recipient']) && isset($_POST['Score'])){

$check['formsent'] = true;

//get data of hotpot-form
$data = array();
$data['recipient'] = $_POST['recipient'];
$data['subject'] = $_POST['subject']; //My Exercise
$data['Exercise'] = $_POST['Exercise']; //My Exercise
//$data['realname'] = $_POST['realname']; //Tom Tomaso
$data['realname'] = trim($_POST['realname']) == "" || $_POST['realname'] == "null" ? "" : trim($_POST['realname']); //Tom Tomaso
$data['Score'] = str_replace("%","",$_POST['Score']); //75 (original post 75%)
$data['Start_Time'] = $_POST['Start_Time']; //25. Januar 2006 17:21:26 GMT+01:00 (depends on browser)
$data['End_Time'] = $_POST['End_Time']; //25. Januar 2006 17:21:26 GMT+01:00 (depends on browser)
$data['title'] = $_POST['title']; //Thanks!
$data['bgcolor'] = $_POST['bgcolor']; //*0033ff
$data['text_color'] = $_POST['text_color']; //*cc00cc
$data['sort'] = $_POST['sort']; //order:realname,Exercise,Score,Start_Time,End_Time
//other data
$data['recipient_arr'] = array(); // all correct, allowed recipients
$data['recipient_bcc_arr'] = array(); // all correct, allowed recipients
$data['time_arr'] = array(); // timedata (date, time, duration, ...)



//get all correct recipients
//recipients from $master_recipients
if(count($data['recipient_arr'] = get_script_recipients($master_recipients)) > 0){
$check['recipients'] = true;
}
//recipients from HotPot-Form
elseif(count($data['recipient_arr'] = get_hotpot_recipients($data['recipient'],$allowed_hotpot_addresses,$banned_hotpot_addresses,$at_code)) > 0){
$check['recipients'] = true;
}
else{
$check['recipients'] = false;
}

//if there are valid recipients get bcc
$data['recipient_bcc_arr'] = get_script_recipients($bcc_recipients);

//get exercise-time-data (array)
$data['time_arr'] = get_time($data);

}



//----------------------------------------------------------------------
//check the realname
if($data['realname'] != ""){ $check['realname'] = true; }

//----------------------------------------------------------------------
//check, if referer is ok
if(check_referer($check_referer,$allowed_referers,$block_empty_referers)){
$check['referer'] = true;
}

//----------------------------------------------------------------------
//check score
if($data['Score']>=$min_score){
$check['score'] = true;
}

//----------------------------------------------------------------------
//send mail (if conditions are true)
if($send_mail && $check['recipients'] && $check['score'] && $check['referer'] && $check['realname']){
if(mail_score($data)){ $check['mailsent'] = true; }
}



//----------------------------------------------------------------------
//make messages for webpage
if($check['formsent']){

//passed exercise
if($check['score']){

$msg_output = $msg['congratulation']."<br />";

// mail sent successfully
if($check['mailsent']){
$msg_output .= $msg['mailsent']."<br />";

$adressdelim = "";
foreach($data['recipient_arr'] as $adressvalue){
$msg_output .= $adressdelim."<a href=\"mailto:".$adressvalue."\">".$adressvalue."</a>";
$adressdelim = ", ";
}
}

//mail not sent: $send_mail is off
if(!$send_mail){
$errormsg_output .= $msg['sendmail_off'];
}
//mail not sent: no valid recipients
elseif(!$check['recipients']){
$errormsg_output .= $msg['novalidrecipients'];
}
//mail not sent: wrong referer
elseif(!$check['referer']){
$errormsg_output .= $msg['wrongreferer'];
}
//mail not sent: no realname
elseif(!$check['realname']){
$errormsg_output .= $msg['norealname'];
}
//mail not sent: mail() failed
elseif(!$check['mailsent']){
$errormsg_output .= $msg['mailnotsent'];
}
}

//failed exercise
if(!$check['score']){
$errormsg_output .= $msg['nosuccess'];
}

}




//----------------------------------------------------------------------
//convert comma seperated string to array
function make_array($string){
$arr = explode(",",$string);
$array = array();
foreach($arr as $a){
$array[] = trim($a);
}
return $array;
}


//----------------------------------------------------------------------
// manage time - return array with time-data
function get_time($data){
$time_arr = array(); //0=startdate(25.1.2005),1=starttime(17.53),2=duration(min:sec),3=start_stmp(timestamp),4=duration_stmp(timestamp)

$time_pattern = "/([0-9]{2}:)([0-9]{2}:)([0-9]{2})/i"; //17:26:05
preg_match($time_pattern,$data['Start_Time'],$starttime_arr); //1=hours,2=min,3=sec
preg_match($time_pattern,$data['End_Time'],$endtime_arr); //1=hours,2=min,3=sec

//if day changed endtime = servertime + 1 day
$day = date("d"); $start_tag != $end_tag ? $add = 1 : $add = 0;
//timedifference in seconds
$duration_stmp = mktime($endtime_arr[1],$endtime_arr[2],$endtime_arr[3],date("m"),date("d")+$add) - mktime($starttime_arr[1],$starttime_arr[2],$starttime_arr[3]);

//exercise-time in min and sec
$min = intval($duration_stmp/60); $sec = $duration_stmp%60;

//start of exercise (servertime, not clienttime)
$start_stmp = mktime()-$duration_stmp;


//output
$time_arr['startdate'] = date("d.m.y",$start_stmp);
$time_arr['starttime'] = date("H.i",$start_stmp);
$time_arr['duration'] = sprintf ("%02d:%02d", $min, $sec);
$time_arr['start_stmp'] = $start_stmp;
$time_arr['duration_stmp'] = $duration_stmp;
return $time_arr;

} // end get_time()
//----------------------------------------------------------------------



//----------------------------------------------------------------------
// collect all recipients of the script $master_recipients or
// $bcc_recipients (only correct adresses will be collected)
// (return array with all correct addresses)
function get_script_recipients($script_recipients){

$emailpattern = "/^[0-9a-z]([-_.]?[0-9a-z])*@([-a-z0-9]+\.)+([a-z0-9]+\.)+([a-z0-9]+\.)+([a-z0-9])$/ix";
$recipients = array();

// get correct emailadresses from script (collect in array recipients)
if(count($script_recipients)>=1 && $script_recipients[0] != ""){
foreach ($script_recipients as $address) {
if(preg_match($emailpattern,$address)){
$address = trim(strtolower($address));
$recipients[] = $address;
}
}
}

return $recipients;

} // end get_script_recipients()
//----------------------------------------------------------------------



//----------------------------------------------------------------------
// collect all recipients of the HotPot-Form
// Only correct and permitted adresses will be collected
// (return array with all correct addresses)
function get_hotpot_recipients($hotpot_recipients,$allowed,$forbidden,$at_code){

$emailpattern = "/^[0-9a-z]([-_.]?[0-9a-z])*@([-a-z0-9]+\.)+([a-z0-9]+\.)+([a-z0-9]+\.)+([a-z0-9])$/ix";
$recipients = array();

// get email-adresses from hotpot-form if no valid master_address is defined
// check, if address is allowed/not banned
// substitute at_code
$hotpot_recipients = explode(",",$hotpot_recipients);
foreach ($hotpot_recipients as $address) {
$address = trim(strtolower($address));
$address = str_replace($at_code,"@", $address);
if(preg_match($emailpattern,$address)){
if(check_hotpot_recipient($address,$allowed,$forbidden)){
$recipients[] = $address;
}
}
}

return $recipients;

} // end get_hotpot_recipients()
//----------------------------------------------------------------------



//----------------------------------------------------------------------
// check if email adress is allowed or banned
// (return true or false)
function check_hotpot_recipient($to_check,$arr_allowed,$arr_forbidden){

$temp_check = explode("@",$to_check);

// check if address is set as allowed
if(count($arr_allowed)>=1 && $arr_allowed[0] != ""){
//check every address in array $arr_allowed
foreach($arr_allowed as $all_addr){
$all_addr = trim(strtolower($all_addr));
$temp_address = explode("@",$all_addr);
//if address is in array allowed
if(($temp_address[0] == "*" && $temp_address[1] == $temp_check[1]) || $all_addr == $to_check){

// check if not in array $arr_forbidden
foreach($arr_forbidden as $ban_addr){
$ban_addr = trim(strtolower($ban_addr));
$temp_address = explode("@",$ban_addr);
if(($temp_address[0] == "*" && $temp_address[1] == $temp_check[1]) || $ban_addr == $to_check){
//banned address *@test.ch or abc@test.ch
return false;
}
}

//allowed address *@test.ch or abc@test.ch
return true;
}
}
return false;
}


// check if address is set as forbidden
elseif(count($arr_forbidden)>=1 && $arr_forbidden[0] != ""){
foreach($arr_forbidden as $ban_addr){
$ban_addr = trim(strtolower($ban_addr));
$temp_address = explode("@",$ban_addr);
if(($temp_address[0] == "*" && $temp_address[1] == $temp_check[1]) || $ban_addr == $to_check){
//banned address *@test.ch or abc@test.ch
return false;
}
}
return true;
}


// if no allowed/forbidden addresses are defined
else{
return true;
}

} // end check_hotpot_recipient()
//----------------------------------------------------------------------




//----------------------------------------------------------------------
// check if referer is allowed (same domain or in array $allowed_referers)
function check_referer($check,$allowed,$block_empty){

//if referers must not be checked
if(!$check){ return true; }

//get referer and script-url
$exercise_url = $_SERVER['HTTP_REFERER'] == "" ? getenv('HTTP_REFERER') : $_SERVER['HTTP_REFERER'];
$script_url = $_SERVER['SERVER_NAME'].$_SERVER['PHP_SELF'];

//check, if referer is empty and if this should be blocked
if($exercise_url == "" && !$block_empty){ return true; }

//get hostname (www.sub.educanet2.ch) of exercise and of this script
$host_pattern = "/^(http:\/\/)?(www\.)?([^\/]+)/i";
preg_match($host_pattern,$exercise_url,$exercise_host);
preg_match($host_pattern,$script_url,$script_host);

//last two segments out of host (educanet2.ch) of exercise and of this script
$domain_pattern = "/[^\.\/]+\.[^\.\/]+$/";
preg_match($domain_pattern,$exercise_host[3],$exercise_domain);
preg_match($domain_pattern,$script_host[3],$script_domain);

//check if domains of exercise and of this script are equal
if($exercise_domain[0] == $script_domain[0]){ return true; }

//check if exercise-domain is allowed if array $allowed_referers
foreach ($allowed as $url) {
preg_match($host_pattern,$url,$host);
preg_match($domain_pattern,$host[3],$domain);
if($exercise_domain[0] == $domain[0]){ return true; }
}

return false;

} // check_referer()
//----------------------------------------------------------------------




//----------------------------------------------------------------------
// send mail to recipients
function mail_score($data){

//recipient string
$to = ""; $to_del = "";
foreach($data['recipient_arr'] as $tovalue){
$to .= $to_del.$tovalue;
$to_del = ",";
}

//bcc-recipient string
$bcc = ""; $bcc_del = "";
if(count($data['recipient_bcc_arr']) > 0){
foreach($data['recipient_bcc_arr'] as $bccvalue){
$bcc .= $bcc_del.$bccvalue;
$bcc_del = ",";
}
}

//$subject
$zeichen = array(" 0" , "Æ", "¸", "û", "’", "÷", " 9", " !", " ", "È", "Ë");
$ersatz = array("ae" , "oe", "ue", "ss", "Ae", "Oe", "Ue", "a", "a", "e", "e");
$realname_subject = str_replace($zeichen,$ersatz,$data['realname']);
$exercise_subject = str_replace($zeichen,$ersatz,$data['Exercise']);
$subject = "HotPot-Uebung ".$exercise_subject." von ".$realname_subject." geloest";

//$headers
$headers = "MIME-Version: 1.0\r\n";
$headers .= "Content-type: text/plain; charset=iso-8859-1\r\n";
$headers .= "Content-Transfer-Encoding: 8bit\r\n";
$headers .= $bcc != "" ? "Bcc: ".$bcc."\r\n" : "";
$headers .= "From: ".$data['recipient_arr'][0]."\r\n";
$headers .= "Reply-To: ".$data['recipient_arr'][0]."\r\n";
$headers .= "X-Mailer: PHP " . phpversion();

//prepare data
$realname = $data['realname'];
$uebung = $data['Exercise'];
$datum = $data['time_arr']['startdate'];
$zeit = $data['time_arr']['starttime'];
$dauer = $data['time_arr']['duration'];
$score = $data['Score'];


//$bodytext
$bodytext = <<<BODYTEXT
$realname hat die Hot Potatoes-Uebung $uebung geloest.

Details:

Name: $realname
Uebung: $uebung
Datum: $datum
Start: $zeit Uhr
Dauer: $dauer
Ergebnis: $score%


BODYTEXT;

//mail it
$sent = mail($to, $subject, $bodytext, $headers);
if(!$sent){
return false;
}
else{
return true;
}

} // end mail_score()
//----------------------------------------------------------------------


?>
<?php echo '<?xml version="1.0" encoding="iso-8859-1"?>'; ?>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">

<html xml:lang="en" xmlns="http://www.w3.org/1999/xhtml">

<head>
<meta name="author" content="Created with Hot Potatoes by Half-Baked Software, registered to Thomas Stierli."></meta>
<meta name="keywords" content="Hot Potatoes, Hot Potatoes, Half-Baked Software, Java, University of Victoria"></meta>
<link href="http://purl.org/dc/elements/1.1/" rel="schema.DC" />
<meta name="DC:Creator" content="Thomas Stierli" />
<meta name="DC:Title" content="<?php print htmlentities($data['Exercise']); ?>" />
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<title>HotPotatoes: <?php print htmlentities($data['Exercise']); ?></title>
<style type="text/css"><!--body { color: #000000; font-size: 12px; font-family: Geneva, Arial, Helvetica, sans-serif; line-height: 1.2em; background-color: #ffffff; margin-right: 5%; margin-left: 5% }
div { margin-top: 6px; margin-bottom: 6px }
div.StdDiv { color: #000000; font-size: 100%; background-color: #e1e1e1; text-align: center; margin-bottom: 1px; padding: 2px; border: solid 1px }
div.ButtonDiv { margin-top: 5px; margin-bottom: 10px }
a.CloseLink:link, a.CloseLink:visited { color: #000000; font-size: 0.9em; text-decoration: none; background-color: #e1e1e1; text-align: center; padding: 2px 4px; border-style: solid; border-width: 2px; border-color: #666 black black #666 }
a.CloseLink:hover { color: #e1e1e1; font-size: 0.9em; text-decoration: none; background-color: black; text-align: center; padding: 2px 4px; border-style: solid; border-width: 2px; border-color: #666 black black #666 }
a.CloseLink:active { color: #e1e1e1; font-size: 0.9em; text-decoration: none; background-color: black; text-align: center; padding: 2px 4px; border-style: solid; border-width: 2px; border-color: black #666 #666 black }
.title { font-size: 14px; font-weight: bold }
div.msg { }
div.errormsg { color: red; }
table { margin: 5px auto }
td { font-size: 12px; text-align: left; padding: 5px }
td.result { font-weight: bold; text-decoration: none; background-color: #ffc; width: 70px }
td.name { text-align: right }
div.footer { color: #666; font-size: 0.8em; margin-top: 15px; margin-bottom: 5px }
div.footer a { color: #666; font-weight: bold; text-decoration: none }
--></style>
</head>

<body>
<div class="StdDiv">
<div class="ButtonDiv">
<a class="CloseLink" onclick="self.close();" href="#">Fenster schliessen</a></div>
<?php if ($check['formsent']): ?>
<div class="title"><?php print htmlentities($data['Exercise']); ?></div>
<div class="msg"><?php print $msg_output; ?></div>
<div class="errormsg"><?php print $errormsg_output; ?></div>
<table>
<tr>
<td class="name">Name:</td>
<td class="result" colspan="3"><?php print htmlentities($data['realname']); ?></td>
</tr>
<tr>
<td class="name">&Uuml;bung:</td>
<td class="result" colspan="3"><?php print htmlentities($data['Exercise']); ?></td>
</tr>
<tr>
<td class="name">Datum:</td>
<td class="result"><?php print htmlentities($data['time_arr']['startdate']); ?></td>
<td class="name">Dauer:</td>
<td class="result"><?php print htmlentities($data['time_arr']['duration']); ?></td>
</tr>
<tr>
<td class="name">Zeit:</td>
<td class="result"><?php print htmlentities($data['time_arr']['starttime']); ?> Uhr</td>
<td class="name">Ergebnis:</td>
<td class="result"><?php print htmlentities($data['Score']); ?>%</td>
</tr>
</table>
<?php else: //formsent not sent ?><br/>
<div class="title">HotPotCGI</div>
<div class="msg">
HotPotCGI ist ein PHP-Skript mit dem Resultate von <a title="Hot Potatoes: Infos und Download" href="http://hotpot.uvic.ca/" target="_blank">Hot Potatoes</a>-&Uuml;bungen per Mail verschickt werden k&ouml;nnen.<br/>
Ausf&uuml;hrlichere Informationen gibt es unter folgender Adresse:<br/>
<br/>
<a href="http://wiki.bullino.ch/ELearning/HotPot-HotPotCGI" target="_blank">http://wiki.bullino.ch/</a></div>
<?php endif; //formsent ?>
<div class="footer">Powered by <a title="HotPotGCI" href="http://wiki.bullino.ch/ELearning/HotPot-HotPotCGI" target="_blank">HotPotCGI</a><br /></div>
</div>
</body>

</html>
Banaszak
 
Posts: 4
Joined: 30. March 2010 07:23


Return to XAMPP für Windows

Who is online

Users browsing this forum: No registered users and 54 guests