Mails per Kontaktformular kommen nicht an...

Parklife
Beiträge: 102
Registriert: Sa 19. Nov 2005, 20:28
Kontaktdaten:

Beitrag von Parklife » Mi 28. Dez 2005, 22:42

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...?

HerrB
Beiträge: 6935
Registriert: Do 22. Mai 2003, 12:44
Wohnort: Berlin
Kontaktdaten:

Beitrag von HerrB » Do 29. Dez 2005, 13:14

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
Bitte keine unaufgeforderten PMs oder E-Mails -> use da Forum!

Newsletter: V4.4.x | V4.6.0-15 (Module, Backend) | V4.6.22+
Standardartikelliste: V4.4.x | V4.6.x
http://www.contenido.org/forum/search.php | http://faq.contenido.org | http://www.communido.net

Parklife
Beiträge: 102
Registriert: Sa 19. Nov 2005, 20:28
Kontaktdaten:

Beitrag von Parklife » Fr 30. Dez 2005, 13:22

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...?

Parklife
Beiträge: 102
Registriert: Sa 19. Nov 2005, 20:28
Kontaktdaten:

Beitrag von Parklife » Fr 30. Dez 2005, 13:27

Sorry, hat sich schon erledigt! 8)

Nebel

Beitrag von Nebel » Do 19. Jan 2006, 21:55

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ß

HerrB
Beiträge: 6935
Registriert: Do 22. Mai 2003, 12:44
Wohnort: Berlin
Kontaktdaten:

Beitrag von HerrB » Fr 20. Jan 2006, 00:03

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
Bitte keine unaufgeforderten PMs oder E-Mails -> use da Forum!

Newsletter: V4.4.x | V4.6.0-15 (Module, Backend) | V4.6.22+
Standardartikelliste: V4.4.x | V4.6.x
http://www.contenido.org/forum/search.php | http://faq.contenido.org | http://www.communido.net

Nebel

Beitrag von Nebel » Fr 20. Jan 2006, 11:47

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&uuml;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&uuml;ck geben
if (empty($_POST["{$feld['name']}"])) return true;

// regular expression pr&uuml;fungen
if (!empty($feld['valid']) && $feld['valid'] == 'simpletext' && !eregi("^[&ouml;&auml;&uuml;&eacute;&agrave;&egrave;&acirc;&ecirc;&icirc;ça-z-]*$",$_POST["{$feld['name']}"])) return false;
if (!empty($feld['valid']) && $feld['valid'] == 'text' && !eregi("^[ .,;!?()&ouml;&auml;&uuml;&eacute;&agrave;&egrave;&acirc;&ecirc;&icirc;ç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("^[&ouml;&auml;&uuml;&eacute;&agrave;&egrave;&acirc;&ecirc;&icirc;ç_a-z0-9-]+
(\.[&ouml;&auml;&uuml;&eacute;&agrave;&egrave;&acirc;&ecirc;&icirc;ç_a-z0-9-]+)*@
[&ouml;&auml;&uuml;&eacute;&agrave;&egrave;&acirc;&ecirc;&icirc;ça-z0-9-]+
(\.[&ouml;&auml;&uuml;&eacute;&agrave;&egrave;&acirc;&ecirc;&icirc;ça-z0-9-]+)*$",$_POST["{$feld['name']}"])) return false;

// gr&ouml;ssenbereich bei integer und float pr&uuml;fen
if (!empty($feld['minvalue']) && $_POST["{$feld['name']}"] < $feld['minvalue']) return false;
if (!empty($feld['maxvalue']) && $_POST["{$feld['name']}"] > $feld['maxvalue']) return false;

// l&auml;ngenbereich bei allen typen pr&uuml;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ß

Nebel

Beitrag von Nebel » So 22. Jan 2006, 19:46

Hat jemand irgendeine Idee?

HerrB
Beiträge: 6935
Registriert: Do 22. Mai 2003, 12:44
Wohnort: Berlin
Kontaktdaten:

Beitrag von HerrB » So 22. Jan 2006, 23:56

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
Bitte keine unaufgeforderten PMs oder E-Mails -> use da Forum!

Newsletter: V4.4.x | V4.6.0-15 (Module, Backend) | V4.6.22+
Standardartikelliste: V4.4.x | V4.6.x
http://www.contenido.org/forum/search.php | http://faq.contenido.org | http://www.communido.net

rolf
Beiträge: 45
Registriert: Mi 5. Mai 2004, 13:38
Kontaktdaten:

Hosteurope - Standard Kontakt Formular

Beitrag von rolf » Sa 12. Jan 2008, 11:56

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

HerrB
Beiträge: 6935
Registriert: Do 22. Mai 2003, 12:44
Wohnort: Berlin
Kontaktdaten:

Beitrag von HerrB » Mo 14. Jan 2008, 22:38

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
Bitte keine unaufgeforderten PMs oder E-Mails -> use da Forum!

Newsletter: V4.4.x | V4.6.0-15 (Module, Backend) | V4.6.22+
Standardartikelliste: V4.4.x | V4.6.x
http://www.contenido.org/forum/search.php | http://faq.contenido.org | http://www.communido.net

rob2006
Beiträge: 17
Registriert: Do 5. Okt 2006, 12:07
Kontaktdaten:

Beitrag von rob2006 » Mi 16. Jan 2008, 01:52

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

rob2006
Beiträge: 17
Registriert: Do 5. Okt 2006, 12:07
Kontaktdaten:

Beitrag von rob2006 » Mi 16. Jan 2008, 01:55

Hat sich erledigt!

Hier der Link zur FAQ von HE

http://www.hosteurope.de/faq/index.php?cpid=2804

DieMilchMachts
Beiträge: 7
Registriert: Fr 2. Jun 2006, 15:45
Kontaktdaten:

Wohin denn genau?

Beitrag von DieMilchMachts » Do 7. Feb 2008, 11:38

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

Frissnix
Beiträge: 2
Registriert: Mo 22. Feb 2010, 14:13
Kontaktdaten:

kein versand

Beitrag von Frissnix » Di 9. Mär 2010, 19:56

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

Gesperrt