Seite 1 von 1

Altes Mailkontakt-Modul: Will nicht mehr senden

Verfasst: Mo 28. Apr 2008, 18:18
von #ayshe
Hallo zusammen,

ich verwende in einer Site (Contenido 4.6.15) noch das Mailkontakt-Modul von agon, Version C 4.3/4.4, in der von Lars modifizierten Version Feb. 29th 2004.

Seit einem Domainumzung von einem zu einem anderen Hoster funktioniert plötzlich das Formular nicht. Das heißt: Die Email wird ohne Murren und ohne Fehlermeldung versendet, aber es kommt nichts beim Empfänger an. Das Errorlog ist leer.

In der Template-Vorkonfig. und in der Kategorienkonfig. sind die exakt gleichen Einstellungen vorgenommen. Es gibt zudem nur einen Empfänger und eine Empfängeradresse.
Alle Pfade etc. stimmen, es gibt keine anderen Probleme seit dem Domainumzug.

Hat jemand zufällig auch schonmal diese Erfahrung gemacht und könnte mir einen Tip geben?

Gruß,
Ayshe

Input

Code: Alles auswählen

/***********************************************
* CONTENIDO MODUL - INPUT
*
* Modulname   :	    Mailkontakt
* Author      :     agon
* Copyright   :     Contenido - four for business
* Created     :     05-11-2003
* Modified    :     05-11-2003
************************************************/

echo "<table cellspacing=\"0\" cellpadding=\"10\" border=\"0\">
        <tr>
          <td>Adressaten-Namen:</td>
          <td><input type=\"text\" name=\"CMS_VAR[8]\" value=\"CMS_VALUE[8]\" size=70></td>
        </tr>
        <tr>
          <td>Adressaten-Emails:</td>
          <td><input type=\"text\" name=\"CMS_VAR[9]\" value=\"CMS_VALUE[9]\" size=70></td>
        </tr>
        <tr>
          <td colspan=2>Notieren Sie in den beiden Eingabefeldern eine gleiche Anzahl von Adressaten und Email-Adressen;
           trennen Sie die Einträge jeweils mit Kommata.</td>
        </tr>
      </table>";
Output

Code: Alles auswählen

<?php

/*******************************************************
* CONTENIDO MODUL - OUTPUT
*
* Modulname      :  Mailkontakt
* Author         :  agon
* Copyright      :  Contenido - four for business
* Created        :  05-11-2003
* Modified again :  Feb. 29th 2004 by Lars D. Forseth <lars@forseth.de>
********************************************************/

echo "
<!-- start Mailkontakt output -->
";
$db = new DB_Contenido;


/* data was given */
if (($mail == "yes") and (strlen($from_name)>1) and
    (strlen($from_mail)>5) and (strlen($mailkontaktid)>0) and (strlen($comment)>2)) {


  // if invalid mailkontaktid given
  if (!(eregi("([0-9]{1,11})",$mailkontaktid))) {
    $error = "
         <!-- error: invalid mailkontaktid given -->
         <br /><br /><br />
         <center><font color=\"darkred\"><b>
         Diesen Empf&auml;nger gibt es nicht (mehr)!
         <br />
         Versuch' es sp&auml;ter bitte nochmal.
         </b></font></center>
         <br /><br /><br />
         ";
    break;
  } // end if invalid mailkontaktid given

  $sql = "SELECT * FROM mailkontakt WHERE mailkontaktid=$mailkontaktid ".
         "OR mailkontakt_spd=\"Y\" ORDER BY mailkontaktid";
  $db->query($sql);
  $db->next_record();
  $nr = $db->num_rows();

  $mailto = "";
  $spd = "";
  $mailkontakt_name = "";
  $header="From:".$from_name."<".$from_mail.">";

  // no data in DB
  if ($nr < 1) {
    $error = "
         <!-- error: no data in DB -->
         <br /><br /><br />
         <center><font color=\"darkred\"><b>
         Diesen Empf&auml;nger gibt es nicht (mehr)!
         <br />
         Versuch' es sp&auml;ter bitte nochmal.
         </b></font></center>
         <br /><br /><br />
         ";
    break;
  } // end no data in DB

  // get recipients from DB
  for ($i=0; $i<$nr; $i++) {
    if ($mailkontaktid == ($db->f("mailkontaktid"))) {
      $mailto = ($db->f("mailkontakt_email"));
      $mailkontakt_name = $db->f("mailkontakt_name");
    } // end if
    if (!($mailkontaktid == ($db->f("mailkontaktid"))) and (($db->f("mailkontakt_spd"))=="Y")) {
      $spd .= ",".($db->f("mailkontakt_email"));
    } // end if
    $db->next_record();
  } // end "get recipients from DB"

  if (strlen($mailto) < 5) {
    $tmp = explode(",",$spd,2);
    $mailto = $tmp[1];
  } else {$mailto .= $spd;}

  // check if email-adress from user is correct
  $length = (int) (strlen($from_mail));
  if ($length > 100 or $length < 5) {$length_err = 1;}
  else {$length_err = 0;}
  $valid = (eregi ("^([a-z0-9_]|\\-|\\.)+@(([a-z0-9_]|\\-)+\\.)+[a-z]+$",$from_mail));

  if (strlen($error)>3) {echo $error;}

  else { // no error occured
    if (!($valid==1) or ($length_err==1)) {
      $links        = explode('?',$PHP_SELF);
      $link         = $links[0];
      $link         = $link."?idcat=".$idcat; // back-link
      echo "

<div style=\"color:red;\">
<p> ACHTUNG:</p>
 <p>Die angegebene Email-Adresse ist ung&uuml;ltig!<br />
 Bitte&nbsp;&uuml;berpr&uuml;fen...</p></div>
 <div>
  <form action=\"$link\" method=\"post\">
   <input type=\"hidden\" name=\"mailkontaktid\" value=\"$mailkontaktid\">
   <input type=\"hidden\" name=\"from_name\" value=\"$from_name\">
   <input type=\"hidden\" name=\"from_mail\" value=\"$from_mail\">
   <input type=\"hidden\" name=\"comment\" value=\"$comment\">
   <input style=\"border:1px solid #777;color:red;background-color:transparent;\" type=\"submit\" value=\"&laquo;&nbsp;zur&uuml;ck\">
  </form>
 </div>
<br />";
    } // end check user email-address
    else {
      /* for security reasons in case of spam and the kind 
      $now = date("l dS of F Y \@ G:i:s"); // Example: Wednesday 15th of January 2004 15:51:38
      $ip = getenv("REMOTE_ADDR");
      $comment .= "\n\n\n\nThis mail was sent from the IP-address ".$ip." on ".$now." .\n";*/

      /* finally mail message */
      mail($mailto,"Kontaktanfrage durch asta-zw.de",$comment,$header);

      // give confirmation to user:
      if (strlen($mailkontakt_name) < 1) $mailkontakt_name = "&Ouml;kologische Marktwirtschaft GmbH";
      echo "

<span style=\"color:#c00;\">Folgende Nachricht wurde an&nbsp;<b>".$mailkontakt_name."</b>&nbsp;gesandt:</span>
<br /><br />

  <span class=\"beschriftung\">Absender:&nbsp;</span>";
      echo $from_name."<span class=\"ergebnis\"> <".$from_mail."></span><br />";
      echo "
 <span class=\"beschriftung\">Empf&auml;nger:</span>&nbsp;<span class=\"ergebnis\">".$mailkontakt_name."</span><br />
 
 <span class=\"beschriftung\">Nachricht:</span><br /><span class=\"ergebnis\">".nl2br($comment)."</span>
<br /><br />
<div style=\"color:#777; font-weight:bold;\">Vielen Dank für die Email!</div>
<br /><br />
<div class=\"mailerlink\"><a href=\"./front_content.php\">Zur Startseite</a></div>
";
    } // end else ("user's email-addres is ok")
  } // end else ("no error occured")


} // end "data was given"








/* no data was given (yet), so give back form */
else {

  $db1 = new DB_Contenido;
  $sql1 = "SELECT * FROM mailkontakt WHERE mailkontakt_sil=\"Y\" ORDER BY mailkontakt_name";
  $db1->query($sql1);
  $db1->next_record();
  $nr1 = $db1->num_rows();
  if ($nr1 > 0) $show_list = "yes";


  $sql = "SELECT * FROM mailkontakt ORDER BY mailkontaktid";
  $db->query($sql);
  $db->next_record();
  $nr = $db->num_rows();

  /* there are recipients in DB */
  if ($nr > 0) {


    // not all fields were filled during last submission!
    if ($mail == "yes") {
      echo "
  <div style=\"color:red;\">Ein Fehler ist aufgetreten. Bitte alle Felder <b>korrekt</b> ausf&uuml;llen!</div>";
    } // end if "not all fields filled"

    echo "
  <form name=\"mail\" action=\"".$auth->url()."\" method=\"post\">
  ";

    /* if there are any recipients with sil=="Y" */
    if ($show_list == "yes") {
      echo"
   <span class=\"beschriftung\">Empf&auml;nger:</span>";

      echo "
     <span class=\"input\"><select name=\"mailkontaktid\">";

      for($x=0; $x<$nr1; $x++){
        echo "
      <option value=\"".($db1->f("mailkontaktid"))."\"";
        if (($db1->f("mailkontaktid")) == $mailkontaktid) echo " selected";
        echo ">".($db1->f("mailkontakt_name"));
        $db1->next_record();
      } // end for
      echo "
     </select></span> <br />
    ";
      // end drop-down-menu


   } // end if($show_list == "yes")
   else {echo "<input type=\"hidden\" name=\"mailkontaktid\" value=\"0\">";}

   echo "
<div class=\"beschriftung\">Name:</div>
    
   <div class=\"input\"><input type=\"text\" name=\"from_name\" value=\"".$from_name."\"></div><br />
   <div class=\"beschriftung\">Email-Adr.:</div>
    <div class=\"input\"><input type=\"text\" name=\"from_mail\" value=\"".$from_mail."\"></div>
   <br />
<div class=\"beschriftung\">Nachricht:</div>
  <div class=\"input\">
     <text"."area name=\"comment\" style=\"width:250px; height:150px;\" wrap=\"physical\">".
      $comment.
    "</text"."area></div>
   
     <br />
<div class=\"buttons\">
     <input type=\"hidden\" name=\"mail\" value=\"yes\">
     <input type=\"submit\" class=\"button\" value=\"Mail senden\" />&nbsp;&nbsp;<input type=\"reset\" class=\"button\" value=\"Eingaben löschen\" /></div>
    
 </fo"; echo "rm>
 <br /><br />";

  } // end "there are recipients in DB"


  /* there are no recipients in DB */
  else {
    echo "
    <div style=\"text-align:center; color:red;font-weight:bold;\">
     Momentan sind leider keine Empf&auml;nger in der Datenbank eingetragen,
     bitte versuch' es sp&auml;ter nocheinmal.
   </div>
 
    ";
  } // end "there are no recipients in DB"



} // end "no data was given (yet)"

echo "
<!-- end Mailkontakt output -->
";

?>


Verfasst: Di 29. Apr 2008, 13:43
von emergence
woher weisst du dass das mail versendet wird ?

frag mal den provider ob er den weg des mails verfolgen kann...