Seite 2 von 3
Verfasst: Mi 28. Dez 2005, 22:42
von Parklife
Oh Mann - es geht immer noch nicht! Meine Mails kommen einfach nicht an!!
Ich habe jetzt $Sender in der class.phpmailer auf ="-f" gesetzt und sowohl als Absender- wie auch als Empfänger-Adresse eine bei Hosteurope genommen. Trotzdem kommen die Mails nicht an/durch!! Was muss ich noch machen?!?! Hilllllfffffeeeeeeeee! Das kann doch eigentlich kein so außergewöhnliches Problem sein...?
Verfasst: Do 29. Dez 2005, 13:14
von HerrB
Du sollst da nicht -f reinschreiben - mache das bitte wieder rückgängig.
Die -f-Option muss bei Hosteurope verwendet werden (das entwickelt sich zur FAQ... ).
Die phpmailer-Klasse sieht dafür bereits eine Eigenschaft vor: Einfach - wie den Absender - den "Sender" (die Variable heißt so) festlegen.
D.h. da, wo $mail->From = <SchlagMichTot>; steht (in Deinem Modul), ergänzt Du als weitere Zeile $mail->Sender = <SchlagMichTot>;
Wer auch immer sich das mit dem -f in der class.phpmailer.php ausgedacht hat - von dieser Datei kann man getrost die Finger lassen...
Gruß
HerrB
Verfasst: Fr 30. Dez 2005, 13:22
von Parklife
Juchu, jetzt geht es - super, vielen Dank!
Eine Frage hätte ich aber noch - ich verwende ja das "eingebaute" Mailformular und finde, dass die Mail, die verschickt wird, sehr unformatiert ist (viele Angaben stehen ohne Punkt und Komma in einer Zeile) - woran könnte das liegen...?
Verfasst: Fr 30. Dez 2005, 13:27
von Parklife
Sorry, hat sich schon erledigt!

Verfasst: Do 19. Jan 2006, 21:55
von Nebel
N'abend,
ich nutze auch w3concepts.form.v1 und ca. Seit Jahresanfang kommen keine mit dem Formular abgeschickten Mails mehr an
Dabei wurde gar nichts verändert?!
Die Seiten liegen auf evanzo Servern, aber da wurde, soweit ich weiß auch nichts verändert.
Weiß vielleicht jemand Rat? Die Suche im Forum brachte leider keine Ergebnisse zu Tage und in dem Modul kann ich kein $mail->From = ... finden.
Schönen Gruß
Verfasst: Fr 20. Jan 2006, 00:03
von HerrB
Ich kenne das Modul nicht, gibt es im Code a) einen Verweis auf die class.phpmailer.php-Datei (dann gilt das oben Gesagte) oder b) ein Aufruf der Funktion mail() (e.g. if (!mail($to,$subject, ...) ?
Wenn b), dann musst Du bei diesem mail den zusätzlichen -f Parameter angeben (d.h. , "-f <Absender-E-Mail>"). Siehe
http://www.php.net/manual/en/function.mail.php
Das gilt natürlich nur, wenn der Provider die Angabe der Absender-E-Mail-Adresse über die -f-Option fordert.
Gruß
HerrB
Verfasst: Fr 20. Jan 2006, 11:47
von Nebel
Auf dieses Modul trifft wohl b) zu. Wo aber muss ich den zusätzlichen Parameter setzen? Ich habe den Provider deswegen auch einmal angeschrieben.
Hier mal der Output Code:
<?php
/***********************************************
* CONTENIDO MODUL - OUTPUT
*
* Modulname : w3concepts.form.v1
* Author : Andreas Kummer
* Copyright : mumprecht & kummer w3concepts
* Created : 20-08-2004
* Modified : 20-08-2004
************************************************/
class w3form {
var $email, $aufgedroeselt, $form, $formularFeld;
function w3form() {
}
// PRIVATE
function sendEmail() {
$this->aufdroeseln($this->suppress('sent'));
$this->generateEmailMessage();
mail($this->email['adresses'],$this->email['subject'],$this->email['message'],"From: {$this->email['from']['name']} <{$this->email['from']['email']}>\nReply-To: {$this->email['from']['email']}\nX-Mailer: PHP/" . phpversion());
}
// PRIVATE
function aufdroeseln($aufzudroeseln,$prefix = '') {
foreach ($aufzudroeseln as $key => $value) {
if (is_array($value)) {
$this->aufdroeseln($value,$key." ");
} else {
$this->aufgedroeselt["{$prefix}{$key}"] = $value;
}
}
}
// PRIVATE
function add2Message($key,$value) {
if (strlen($key) > 25 OR strlen($value) > 54) {
$this->email['message'] .= "$key\n$value\n";
} else {
$this->email['message'] .= $key;
$this->email['message'] .= str_repeat(' ',25-strlen($key));
$this->email['message'] .= "$value\n";
}
}
// PRIVATE
function generateEmailMessage() {
if ($this->aufgedroeselt) foreach ($this->aufgedroeselt as $key => $value) {
$this->add2Message($key,$value);
}
}
// PRIVATE
function suppress() {
$suppress = func_get_args();
foreach ($_POST as $key => $value) {
if (array_search($key,$suppress) === false) $fields[$key] = $value;
}
return $fields;
}
// PUBLIC
function addEmailAdress($email) {
if (empty($this->emailAdresses)) {
$this->email['adresses'] .= "$email";
} else {
$this->email['adresses'] .= ", $email";
}
}
// PUBLIC
function setEmailSubject($subject) {
$this->email['subject'] = $subject;
}
// PUBLIC
function setEmailFrom($email,$name) {
$this->email['from']['email'] = $email;
$this->email['from']['name'] = $name;
}
// PUBLIC
function setForm($form) {
$this->form['form'] = $form;
}
// PUBLIC
function setAnswer($answer) {
$this->form['answer'] = $answer;
}
// PUBLIC
function setBackgroundError($color) {
$this->form['colorError'] = $color;
}
// PRIVATE
function formularInterpretation(&$formular) {
$felder = split('###',$formular);
for ($i=1;$i<count($felder);$i=$i+2) {
$attributte = split(';',trim($felder[$i]));
foreach ($attributte as $attribut) {
$namewert = split(':',trim($attribut));
if ($namewert[0] != 'option' && $namewert[0] != 'optionvalue') {
$feld["{$felder[$i]}"]["{$namewert[0]}"] = $namewert[1];
} else {
$feld["{$felder[$i]}"]["{$namewert[0]}"][] = $namewert[1];
}
}
}
return $feld;
}
// PRIVATE
function formularAusgabe($sent = false) {
echo '<form action="" method="POST">';
echo '<input type="hidden" name="sent" value="true" />';
$formular = $this->form['form'];
$formulardaten = $this->formularInterpretation(&$formular);
$formular = split('###',$formular);
foreach ($formular as $formularteil) {
if (!empty($formulardaten["{$formularteil}"])) {
$this->formularFeld($formulardaten["{$formularteil}"],$sent);
} else {
echo $formularteil;
}
}
echo '</form>';
}
// PRIVATE
function formularFeld($attribute,$sent) {
$parameter = "name=\"{$attribute['name']}\"";
if ($sent && !$this->formularFeldKorrekt(&$attribute)) $style ="style=\"background-color:{$this->form['colorError']};\"";
switch ($attribute['type']) {
case 'select':
case 'password':
case 'text':
if (!empty($attribute['size'])) $parameter .= " size=\"{$attribute['size']}\"";
break;
}
switch ($attribute['type']) {
case 'textarea':
case 'text':
if (!empty($attribute['size'])) $parameter .= " size=\"{$attribute['size']}\"";
if (!empty($attribute['value'])) $value = $attribute['value'];
if (!empty($_POST["{$attribute['name']}"])) $value = $_POST["{$attribute['name']}"];
break;
}
switch ($attribute['type']) {
case 'text':
echo "<input type=\"text\" $parameter value=\"$value\" $style />";
break;
case 'password':
echo "<input type=\"password\" $parameter value=\"$value\" $style />";
break;
case 'textarea':
echo "<textarea name=\"{$attribute['name']}\" cols=\"";
echo (empty($attribute['cols']))?('20'):($attribute['cols']);
echo "\" rows=\"";
echo (empty($attribute['rows']))?('2'):($attribute['rows']);
echo "\" wrap=\"virtual\" $style>$value</textarea>";
break;
case 'select':
echo "<select $parameter $style>";
for ($i=0;$i<count($attribute['option']);$i++) {
if (!empty($attribute['optionvalue'][$i])) {
if (!empty($_POST["{$attribute['name']}"]) && $_POST["{$attribute['name']}"] == $attribute['optionvalue'][$i]) {
echo "<option value=\"{$attribute['optionvalue'][$i]}\" selected=\"selected\">{$attribute['option'][$i]}</option>\n";
} else {
if (empty($_POST["{$attribute['name']}"]) && !empty($attribute['optionvalue'][$i]) && $attribute['optionvalue'][$i] == $attribute['value']) {
echo "<option value=\"{$attribute['optionvalue'][$i]}\" selected=\"selected\">{$attribute['option'][$i]}</option>\n";
} else {
echo "<option value=\"{$attribute['optionvalue'][$i]}\">{$attribute['option'][$i]}</option>\n";
}
}
} else {
if (!empty($_POST["{$attribute['name']}"]) && $_POST["{$attribute['name']}"] == $attribute['option'][$i]) {
echo "<option selected=\"selected\">{$attribute['option'][$i]}</option>\n";
} else {
if (empty($_POST["{$attribute['name']}"]) && $attribute['option'][$i] == $attribute['value']) {
echo "<option selected=\"selected\">{$attribute['option'][$i]}</option>\n";
} else {
echo "<option>{$attribute['option'][$i]}</option>\n";
}
}
}
}
echo "</select>";
break;
case 'checkbox':
$formularbezeichner = preg_split('[\[|\]]',$attribute['name']);
if ($sent) {
if ($_POST["{$formularbezeichner[0]}"]["{$formularbezeichner[1]}"] == $attribute['value']) {
echo "<input type=\"checkbox\" $parameter value=\"{$attribute['value']}\" checked=\"checked\"/>";
} else {
echo "<input type=\"checkbox\" $parameter value=\"{$attribute['value']}\"/>";
}
} else {
if (!empty($attribute['selected']) && $attribute['selected'] == 'true') {
echo "<input type=\"checkbox\" $parameter value=\"{$attribute['value']}\" checked=\"checked\"/>";
} else {
echo "<input type=\"checkbox\" $parameter value=\"{$attribute['value']}\"/>";
}
}
break;
case 'radio':
if (!empty($_POST["{$attribute['name']}"])) {
if ($_POST["{$attribute['name']}"] == $attribute['value']) {
echo "<input type=\"radio\" $parameter value=\"{$attribute['value']}\" checked=\"checked\"/>";
} else {
echo "<input type=\"radio\" $parameter value=\"{$attribute['value']}\" />";
}
} else {
if (!empty($attribute['selected']) && $attribute['selected'] == 'true') {
echo "<input type=\"radio\" $parameter value=\"{$attribute['value']}\" checked=\"checked\"/>";
} else {
echo "<input type=\"radio\" $parameter value=\"{$attribute['value']}\"/>";
}
}
break;
}
}
// PRIVATE
function formularVollstaendig() {
$formular = $this->form['form'];
$felder = $this->formularInterpretation(&$formular);
foreach ($felder as $feld) {
if (!$this->formularFeldKorrekt(&$feld)) return false;
}
return true;
}
// PRIVATE
function success() {
$this->sendEmail();
echo $this->form['answer'];
}
// PRIVATE
function formularFeldKorrekt(&$feld) {
// prüfung, ob pflichtfeld vorhanden
if (!empty($feld['mandatory']) && $feld['mandatory'] == 'true' && empty($_POST["{$feld['name']}"])) return false;
// wenn das formularfeld kein pflichtfeld und nicht vorhanden ist, true zurück geben
if (empty($_POST["{$feld['name']}"])) return true;
// regular expression prüfungen
if (!empty($feld['valid']) && $feld['valid'] == 'simpletext' && !eregi("^[öäüéàèâêîça-z-]*$",$_POST["{$feld['name']}"])) return false;
if (!empty($feld['valid']) && $feld['valid'] == 'text' && !eregi("^[ .,;!?()öäüéàèâêîça-z-]*$",$_POST["{$feld['name']}"])) return false;
if (!empty($feld['valid']) && $feld['valid'] == 'integer' && !eregi("^[0-9]*$",$_POST["{$feld['name']}"])) return false;
if (!empty($feld['valid']) && $feld['valid'] == 'float' && !eregi("^[0-9]*[.]{0,1}[0-9]*$",$_POST["{$feld['name']}"])) return false;
if (!empty($feld['valid']) && $feld['valid'] == 'date' && !eregi("^[0-9]{1,2}.[0-9]{1,2}.[0-9]{2}$",$_POST["{$feld['name']}"])) return false;
if (!empty($feld['valid']) && $feld['valid'] == 'email' && !eregi("^[öäüéàèâêîç_a-z0-9-]+
(\.[öäüéàèâêîç_a-z0-9-]+)*@
[öäüéàèâêîça-z0-9-]+
(\.[öäüéàèâêîça-z0-9-]+)*$",$_POST["{$feld['name']}"])) return false;
// grössenbereich bei integer und float prüfen
if (!empty($feld['minvalue']) && $_POST["{$feld['name']}"] < $feld['minvalue']) return false;
if (!empty($feld['maxvalue']) && $_POST["{$feld['name']}"] > $feld['maxvalue']) return false;
// längenbereich bei allen typen prüfen
if (!empty($feld['minlength']) && strlen($_POST["{$feld['name']}"]) < $feld['minlength']) return false;
if (!empty($feld['maxlength']) && strlen($_POST["{$feld['name']}"]) > $feld['maxlength']) return false;
return true;
}
//PUBLIC
function process() {
if (!isset($_POST['sent'])) {
$this->formularAusgabe();
} elseif ($this->formularVollstaendig()) {
$this->success();
} else {
$this->formularAusgabe(true);
}
}
}
if ($edit) {
echo "<h1>Formularkonfiguration</h1>";
echo "<p>Hier ist das Formular sowie der Text einzugeben, der zusammen mit dem Formular ausgegeben werden soll:</p>";
echo "CMS_HTML[0]";
echo "<p>Hier ist die Ausgabe einzugeben, die erscheint, wenn das Formular erfolgreich prozessiert worden ist:</p>";
echo "CMS_HTML[1]";
} else {
$formular = new w3form();
$formular->addEmailAdress("CMS_VALUE[0]");
$formular->setEmailSubject("CMS_VALUE[1]");
$formular->setEmailFrom("CMS_VALUE[2]","CMS_VALUE[3]");
$formular->setBackgroundError("CMS_VALUE[4]");
$formular->setForm("CMS_HTML[0]");
$formular->setAnswer("CMS_HTML[1]");
$formular->process();
}
?>
Gruß
Verfasst: So 22. Jan 2006, 19:46
von Nebel
Hat jemand irgendeine Idee?
Verfasst: So 22. Jan 2006, 23:56
von HerrB
Was für eine Idee brauchst Du noch? Wenn Dein Provider die -f-Option erfordert, musst Du diese Zeile ändern:
Code: Alles auswählen
mail($this->email['adresses'],$this->email['subject'],$this->email['message'],"From: {$this->email['from']['name']} <{$this->email['from']['email']}>\nReply-To: {$this->email['from']['email']}\nX-Mailer: PHP/" . phpversion());
->
Code: Alles auswählen
mail($this->email['adresses'],$this->email['subject'],$this->email['message'],"From: {$this->email['from']['name']} <{$this->email['from']['email']}>\nReply-To: {$this->email['from']['email']}\nX-Mailer: PHP/" . phpversion(),"-f".$this->email['from']['email']);
Gruß
HerrB
Hosteurope - Standard Kontakt Formular
Verfasst: Sa 12. Jan 2008, 11:56
von rolf
HerrB hat geschrieben:Du sollst da nicht -f reinschreiben - mache das bitte wieder rückgängig.
Die -f-Option muss bei Hosteurope verwendet werden (das entwickelt sich zur FAQ... ).
Die phpmailer-Klasse sieht dafür bereits eine Eigenschaft vor: Einfach - wie den Absender - den "Sender" (die Variable heißt so) festlegen.
D.h. da, wo $mail->From = <SchlagMichTot>; steht (in Deinem Modul), ergänzt Du als weitere Zeile $mail->Sender = <SchlagMichTot>;
Wer auch immer sich das mit dem -f in der class.phpmailer.php ausgedacht hat - von dieser Datei kann man getrost die Finger lassen...
Gruß
HerrB
ICh kann machen was ich will es kommen immer noch keine Mail an den Empfänger. Habe das ganze Forum durchsucht und alle Tipps angenommen. Gehostet bei Hosteurope hat jemand das fertige Modul Output und kann es hier posten? oder was kann ich noch tun mal abgesehn davon den Provider zu wechseln. LOL
Verfasst: Mo 14. Jan 2008, 22:38
von HerrB
Bei Hosteurope kannst Du im KIS eine Standard-Absender-E-Mail-Adresse definieren, dann brauchst Du die -f bei Hosteurope nicht mehr (siehe FAQ von Hosteurope).
Gruß
HerrB
Verfasst: Mi 16. Jan 2008, 01:52
von rob2006
HerrB hat geschrieben:Bei Hosteurope kannst Du im KIS eine Standard-Absender-E-Mail-Adresse definieren, dann brauchst Du die -f bei Hosteurope nicht mehr (siehe FAQ von Hosteurope).
Gruß
HerrB
Ich habe den gleichen Fehler! Unter den FAQ von HostEurope habe ich nichts passendes gefunden bzw. keine Ahnung was ich dort genau suchen muss.
Hast Du vielleicht den Link parat???
Ich benutze die VPS-Variante von HE.
Gruß
Rob
Verfasst: Mi 16. Jan 2008, 01:55
von rob2006
Hat sich erledigt!
Hier der Link zur FAQ von HE
http://www.hosteurope.de/faq/index.php?cpid=2804
Wohin denn genau?
Verfasst: Do 7. Feb 2008, 11:38
von DieMilchMachts
Hallo zusammen,
sorry, aber wo genau (Pfad, Datei?) nehme ich denn beim Standard-Kontaktformular diese von HerrB und im Host Europe FAQ genannten Änderungen vor (Contenido 4.6.15)?
UPDATE:
Es lag gar nicht daran, sondern daran, dass Absender E-Mail und Empfänger E-Mail von der gleichen Domain stammen mussten (Versand per SMTP). Also z.B. Absender
absender@domain.tld an Empfänger
empfaenger@domain.tld.
Vielen Dank und viele Grüße
DieMilchMachts
kein versand
Verfasst: Di 9. Mär 2010, 19:56
von Frissnix
HerrB hat geschrieben:Bei Hosteurope kannst Du im KIS eine Standard-Absender-E-Mail-Adresse definieren, dann brauchst Du die -f bei Hosteurope nicht mehr (siehe FAQ von Hosteurope).
Gruß
HerrB
Guten Abend !
ich habe im KIS die "Standard-Absender-Email-Adresse" eingestellt.
Im Standard Kontaktformular habe ich die Email eingetragen welche ich im KIS angegeben habe.
Contenido 4.8.12
Da ich jetzt schon den ganzem Mittag dran sitze und immernoch keine einzige Email von meinem Formular
bei mir eingetroffen ist hoffe ich auf Eure Hilfe.
An was kann das denn bitte liegen?
Danke schonmal im vorraus