Hilfe ! Mein Shop sendet keine Emails mehr

Alle Fragen und Probleme zur aktuellen Randshop Version 2.3 können hier gepostet werden.

Moderatoren: Magnus, mmaass, ablass

Hilfe ! Mein Shop sendet keine Emails mehr

Beitragvon seppale » Do 17. Mär 2016, 16:24

Hallo rundherum,
ich bin verzweifelt!
Seit ein paar Tagen versendet mein netter Shop keine Bestellbestätigungen an Kunden und Shopbetreiber (mich), Kontaktanfragen usw.
In den Mail-Logs sieht alles gut aus, ich habe auch in der config schon mal versucht, display_error auf 1 zu setzen -> eine Probebestellung läuft ganz normal und ohne Fehler durch. Email ? Fehlanzeige.
Jetzt habe ich mal beim Provider angefragt, ob da nicht nicht an den Mailservern rumgedreht wurde ?
Folgende Antwort habe ich bekommen:
"Bitte wenden Sie sich an den Shophersteller. Da muss es doch im Backend eine Option dafuer geben??
Welche Version ist denn installiert? SMTP Auth ist absoluter Standard.
Versenden Sie alternativ auf Port 587 statt 25."


Das klingt doch sehr danach, dass der bisher funktionierende Email Versand einfach "abgedreht" wurde ...

Wenn ichs richtig interpretiere, soll ich den aktuellen Email-Versand entweder
- von port 25 auf 587 umstellen
- oder auf SMTP Auth umstellen

Wie/wo kann ich die Konfiguration im Randshop anpassen ?

Besten Dank für Eure Hilfe!
Sepp
seppale
 
Beiträge: 5
Registriert: Do 17. Mär 2016, 06:37

Re: Hilfe ! Mein Shop sendet keine Emails mehr

Beitragvon seppale » Do 17. Mär 2016, 19:49

Was ich mittlerweile versucht habe, ist im File htmlMimeMail.php die Paramter zu verändern:

/*
// vorher
$this->smtp_params['host'] = 'localhost';
$this->smtp_params['port'] = 25;
$this->smtp_params['helo'] = $helo;
$this->smtp_params['auth'] = false;
$this->smtp_params['user'] = '';
$this->smtp_params['pass'] = '';
*/

//nachher
$this->smtp_params['host'] = 'der.smtpserver.vom.provider';
$this->smtp_params['port'] = 587;
$this->smtp_params['helo'] = $helo;
$this->smtp_params['auth'] = true;
$this->smtp_params['user'] = 'MeinMailUser';
$this->smtp_params['pass'] = 'meinMailPasswort';

Das hat jedenfalls nichts gebracht ... :(
seppale
 
Beiträge: 5
Registriert: Do 17. Mär 2016, 06:37

Re: Hilfe ! Mein Shop sendet keine Emails mehr

Beitragvon Martens » Fr 18. Mär 2016, 09:02

Hallo Sepp,

falls Du die Möglichkeit hast, starte den Server einfach mal neu. Das hatte geholfen, als bei mir vor einiger Zeit dasselbe Problem auftrat – natürlich nicht, ohne zuvor schon Stunden mit erfolgloser Fehlersuche verdaddelt zu haben … ;)

Grüße
Martin
„Die Natur ergreift immer die Partei des versteckten Fehlers.“
Eines von Murphys Gesetzen
Martens
 
Beiträge: 343
Registriert: Mo 9. Feb 2009, 22:09

Re: Hilfe ! Mein Shop sendet keine Emails mehr

Beitragvon seppale » Fr 18. Mär 2016, 15:07

Martin, danke für den Tipp.
Das war aber nicht des Rätsels Lösung.
Mittlerweile funktioniert der Mailversand wieder - wie von meinem Provider gefordert - über SMTP :D
Zusätzlich zur Änderung in meinem 2. Post muss in der Datei htmlMimeMail.php, in der Funktion
Code: Alles auswählen
send()
der Default-Parameter für den Mail-Typ geändert werden:

Code: Alles auswählen
   //vorher
   //function send($recipients, $type = 'mail')

   //jetzt
   function send($recipients, $type = 'smtp')
   {


Jetzt funktionieren wieder alle Emails bis auf die Kontaktanfrage. Diese verwendet wieder ein "eigenständiges" Mailing.
Das muss ich noch separat auf SMTP umstellen. Mal sehen, wie ich da mit meinen bescheidenen PHP Kenntnissen weiterkomme.

Gruß
Sepp
seppale
 
Beiträge: 5
Registriert: Do 17. Mär 2016, 06:37

Re: Hilfe ! Mein Shop sendet keine Emails mehr

Beitragvon Magnus » Sa 19. Mär 2016, 11:09

Hallo Sepp,

ich habe mir das angesehen und festgestellt, dass da ein Bug beim Versand der Kontaktmail drin ist. Die wird nämlich über die php mail Funktion versand und nicht über die Funktion, die in includes/htmlMimeMail/htmlMimeMail.php bereitgestellt wird. Ist bei der Weiterentwicklung des Shops praktisch vergessen worden, betrifft aber auch noch die 2.4.
Da wurde zwar eine Einstellmöglichkeit für den Mailversand geschaffen, das Kontaktmail ist da aber immer noch nicht berücksichtigt.

Um das für die 2.3 zu beheben muss die /themes/kontakt/index.php bearbeitet werden:
Etwa in Zeile 75 findet sich folgendert Code:
Code: Alles auswählen
     if (FALSE !== strpos($_POST["formEmail"], "\r") || FALSE !== strpos($_POST["formEmail"], "\n")) {
         echo "Spammer";
      } else {
         $mailText = "Anfrage zum Thema " . $_POST["betreff"] . "\n\nName: " . $_POST["name"] . "\nFirma:" . $_POST["firma"] . "\nTelefon:" . $_POST["tel"] . "\nFax: " . $_POST["fax"] . "\nE-Mail: " . $_POST["formEmail"] . "\n\n".$_POST["nachricht"];
          $e_mail = mail($rowAll->email,$rowAll->firmen_titel . " " . $_POST["betreff"], $mailText, "From: ".$_POST["formEmail"]."\nReply-To: ".$_POST["formEmail"] ."\nContent-Type: text/plain; charset=".CHARSET);
        }

der wird dahin umgebaut:
Code: Alles auswählen
     if (FALSE !== strpos($_POST["formEmail"], "\r") || FALSE !== strpos($_POST["formEmail"], "\n")) {
         echo "Spammer";
      } else {
         $mailText = "Anfrage zum Thema " . $_POST["betreff"] . "\n\nName: " . $_POST["name"] . "\nFirma:" . $_POST["firma"] . "\nTelefon:" . $_POST["tel"] . "\nFax: " . $_POST["fax"] . "\nE-Mail: " . $_POST["formEmail"] . "\n\n".$_POST["nachricht"];
          //$e_mail = mail($rowAll->email,$rowAll->firmen_titel . " " . $_POST["betreff"], $mailText, "From: ".$_POST["formEmail"]."\nReply-To: ".$_POST["formEmail"] ."\nContent-Type: text/plain; charset=".CHARSET);

            $Mail = new htmlMimeMail();
            $Mail->setTextCharset(CHARSET);
            $Mail->setHeadCharset(CHARSET);

            $Mail->setSubject($rowAll->firmen_titel . " " . $_POST["betreff"]);
            $Mail->setText($mailText);

            $Mail->setFrom($rowAll->email);
            $Mail->setHeader('Reply-To',$_POST["formEmail"]);

            $Mail->send(array($rowAll->email));

        }


Also die zweite Zeile nach dem "} else {" auskommentieren, das legt die bisherige mail Funktion still,. Der Code darunter ruft dann die Mailerstellung über HTMLMimeMail auf und da greift dann wieder deine SMTP-Einstellung.
Damit sollte es dann funktionieren :-)

viele Grüße

Magnus
Magnus
 
Beiträge: 1602
Registriert: Mi 21. Feb 2007, 21:10

Re: Hilfe ! Mein Shop sendet keine Emails mehr

Beitragvon Magnus » Sa 19. Mär 2016, 12:53

Mir kam jetzt der Verdacht, dass die eigentliche Ursache verschärfte Sicherheitseinstellungen bei deinem Provider sind. Konkret könnte es sein, dass Mails nicht mehr verschickt werden, wenn der Absender der Mail nicht auf dem Server bekannt ist.
Wahrscheinlich haben deine Kunden sogar Mails erhalten, nur die Bestellbestätigung an den Shopbetreiber ging nicht raus.

Das passiert, weil im randshop bisher immer die Kundenadresse bei der Bestellbestätigung für den Shopbetreiber eingetragen wurde. Genauso wurde es bei der Kontaktmail praktiziert.
Sinn sollte sein, dass der Shopbetreiber dem bestellenden Kunden, bzw. dem Anfragenden Interessierten direkt durch Klikck auf Antworten eine Antwort schicken konnte.
Dazu wurde im Programm eben der Kunde als Absender eingetragen, was ja nicht korrekt war. Absender ist ja der Shopbetreiber, zwar nicht direkt über sein E-Mail Programm sondern eben über den Shop.
Wenn der Provider Mails mit "gefälschter" Absenderadresse jetzt einfach nicht mehr verschickt (oder unbekannte Adressen aus dem From Feld entfernt), ist das in gewisserweise ein Sicherheitsgewinn. Also durchaus Ok.
Schlecht ist das für den etwas "großzügigen" Programmierer, der eine Funktionalität halt mißbraucht hat und dessen Programm jetzt nicht mehr richtig funktioniert.

Das Thema hatten wir schon Mal: http://forum.randshop.com/viewtopic.php?f=62&t=11721&p=45574&hilit=kundenadresse#p45574. Darin hatte ich eine einfache Lösung schon beschrieben, die funktioniert aber nicht beim Versand per smtp. Dafür gibts auch eine Lösung für die Bewertungsmail, die dürfte beidir das gleiche Problem haben, wenn du Bewertungen eingeschaltest hast.
Für die 2.4 gabs auch schon mal ein Thema + Lösung: http://forum.randshop.com/viewtopic.php?f=69&t=11777

Und weil ich die Lösung so schön finde, habe ich sie oben gleich mit eingebaut.
Da wird jetzt der Shopbetreiber korrekt als Absender eingetragen, die Mailadresse des Anfragenden wird in der Mail als ReplyTo-Adresse eingetragen. Diese Adresse steht dann im An-Feld der neuen Mail wenn auf Antworten geklickt wurde. Also richtig komfortabel, bzw. richtig und komfortabel :-)

Viele Grüße

Magnus
Magnus
 
Beiträge: 1602
Registriert: Mi 21. Feb 2007, 21:10


Zurück zu Allgemeines / Installation / Hilfe

Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 3 Gäste