Mails per Kontaktformular kommen nicht an...
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...?
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...?
Du sollst da nicht -f reinschreiben - mache das bitte wieder rückgängig.
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
D.h. da, wo $mail->From = <SchlagMichTot>; steht (in Deinem Modul), ergänzt Du als weitere Zeile $mail->Sender = <SchlagMichTot>;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.
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
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
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ß
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ß
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
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
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
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:
Hier mal der Output Code:
Gruß<?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();
}
?>
Was für eine Idee brauchst Du noch? Wenn Dein Provider die -f-Option erfordert, musst Du diese Zeile ändern:
->
Gruß
HerrB
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']);
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
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
Hosteurope - Standard Kontakt Formular
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. LOLHerrB hat geschrieben:Du sollst da nicht -f reinschreiben - mache das bitte wieder rückgängig.
D.h. da, wo $mail->From = <SchlagMichTot>; steht (in Deinem Modul), ergänzt Du als weitere Zeile $mail->Sender = <SchlagMichTot>;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.
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
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
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
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
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
-
- Beiträge: 7
- Registriert: Fr 2. Jun 2006, 15:45
- Kontaktdaten:
Wohin denn genau?
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
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
Guten Abend !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 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