Jump to content
xt:Commerce Community Forum

Kontaktformular - Richtige E-Mail Adresse bei Antworten


Recommended Posts

Hallo,

ich habe das gleiche Problem wie bereits in dem Thread Reply erwähnt:

http://www.xt-commerce.com/forum/installation-und-konfiguration/109763-kontaktformular-reply.html

Und muss das Thema noch mal aufwärmen.

Meine Shop Version 4.1

Problem: Wenn ich eine Anfrage über das Kontaktformular bekomme (und es kommen viele täglich) hätte ich gerne, dass der Absender automatisch eingesetzt wird, sobald ich in der Mail auf antworten klicke. Sprich das was in der Mail mit {$Mail} angegeben wurde, soll ans Reply Adresse verwendet werden.

Was muss in das Feld Reply im E-Mail Manager bei der "contact_mail-admin"? Ich habe schon {$mail} ausprobiert (wie im mail template). allerdings passiert dann garnichts, dann ersetzt er den marker nicht sondern schreibt {$mail}

Es ist mühsam, jedesmal die E-Mail Adresse aus dem Feld rauszukopieren..

Link to comment
Share on other sites

  • 3 weeks later...
  • 3 weeks later...

Nein. Nur das es mit der neuen Version behoben sein soll.

Mich graust es schon tierisch davor. Nach dem letzten Update ging garnichts mehr! Alle Plugins mussten geupdated werden, die Sprachen waren kaputt und vom Template ganz zu schweigen. Ich hoffe, XT Commerce lässt sicht mit einer Version 4.2 ganz viel Zeit.

Link to comment
Share on other sites

  • 1 month later...

ich habe mich inzwischen selbst mal schlau gemacht und die Lösung des Problems gefunden!!

Also hier das vorgehen:

Schritt 1

Öffnet das File "contact.php" im Ordner "xtCore > forms".

Dort such ihr nach "$mail_admin->_sendMail()" und ersetzt das ganze mit "$mail_admin->_sendMail($_POST['email_address'], $_POST['firstname'] . " " . $_POST['lastname']);"

Schritt 2

Greift auf euere Datenbank zu und öffnet die Tabelle "xt_mail_templates".

Bei dem Eintrag mit "tpl_type" = "contact_mail-admin", löscht ihr den Feldinhalt von "email_from_name" und "email_reply".

Eh voilà. Fertig.

Falls was unklar sein sollte: einfach fragen ;-)

Link to comment
Share on other sites

  • 5 weeks later...

Hi pflueckiger,

ich habe Deine Anleitung in der contact.php und in der DB durchgeführt, damit der Shopbetreiber gleich auf die Kontaktanfrage antworten kann, doch nun kommen die Kontaktemails beim Shopbetreiber nicht mehr an.

Ich vermute meine Einstellungen im Veyton-Backend sind falsch.

Was muss nun im Template-Manager/contact_mail in folgenden Feldern stehen:

Absender (E-mail):

Absender (Name):

Reply (E-Mail):

Reply (Name):

damit die Kontaktemails beim Shopbetreiber ankommen und er auch gleich dem der sie verschickt hat, antworten kann?

Tausend Dank, Sandra

Link to comment
Share on other sites

Hallo Sandra,

So habe ich es eingerichtet:

Absender (E-mail): Standard-Versand-Mail (zB. [email protected])

Absender (Name): leer

Reply (E-Mail): Standard-Versand-Mail (zB. [email protected])

Reply (Name): leer

Weiterleitung an (E-Mail): leer

Im Anhang siehst du noch einen Ausschnitt aus der Tabelle "xt_mail_templates". In den schwarzen Feldern steht die standard-versand-mail (die ich eben leider nicht zeigen darf)

Falls es nicht klappen sollte kannst du mir sonst auch eine pm oder so schicken in der du die "contact.php" anhängst. Dann check ich das mal ab. (Vielleicht gibts irgendwo noch differenzen oder ich habe was vergessen bei meiner erklärung).

post-108471-143379154558_thumb.jpg

Link to comment
Share on other sites

  • 3 months later...

Hallo Ambidex,

Du musst die Anleitung von Plückinger durchführen, damit funktioniert es:

Schritt 1

Öffnet das File "contact.php" im Ordner "xtCore > forms".

Dort such ihr nach "$mail_admin->_sendMail()" und ersetzt das ganze mit "$mail_admin->_sendMail($_POST['email_address'], $_POST['firstname'] . " " . $_POST['lastname']);"

Schritt 2

Greift auf euere Datenbank zu und öffnet die Tabelle "xt_mail_templates".

Bei dem Eintrag mit "tpl_type" = "contact_mail-admin", löscht ihr den Feldinhalt von "email_from_name" und "email_reply".

Link to comment
Share on other sites

  • 6 months later...

Da die oben angegebene Lösung etwas obskur erscheint, habe ich mich selbst ran gesetzt. Die betreffende Datei heißt "contact.php" und befindet sich im Ordner "xtCore/forms". Mein Code sieht wie folgt aus und beginnt ab Zeile 75:


        //mail to customers

	//SB_CHANGED: excluded due to automatic mail reply function of OS ticket

	/*

        $mail = new xtMailer('contact_mail');

	$mail->_addReceiver($_POST['email_address'], $_POST['firstname'].' '.$_POST['lastname']);

	$mail->_assign('customers_firstname',$_POST['firstname']);

	$mail->_assign('customers_lastname',$_POST['lastname']);

        $mail->_assign('name',$_POST['firstname'].' '.$_POST['lastname']);

        $mail->_assign('company',$_POST['company']);

        $mail->_assign('telefone',$_POST['telefone']);

        $mail->_assign('order_no',$_POST['order_id']);

        $mail->_assign('mail',$_POST['email_address']);

	$mail->_assign('message',$message);

	$mail->_sendMail();

	*/


        //mail to admin

        $mail_admin = new xtMailer('contact_mail-admin');

	//SB_CHANGED: from "_CORE_DEBUG_MAIL_ADDRESS" to "_STORE_CONTACT_EMAIL"

	$mail_admin->_addReceiver(_STORE_CONTACT_EMAIL,_STORE_NAME);	

	//SB_ADDED: reply address + name direct into $mail_admin

	$mail_admin->_addReplyAddress($_POST['email_address'],$_POST['firstname'].' '.$_POST['lastname']);

	$mail_admin->_assign('customers_firstname',$_POST['firstname']);

	$mail_admin->_assign('customers_lastname',$_POST['lastname']);

        $mail_admin->_assign('name',$_POST['firstname'].' '.$_POST['lastname']);

        $mail_admin->_assign('company',$_POST['company']);

        $mail_admin->_assign('telefone',$_POST['telefone']);

	//SB_CHANGED: from "$_POST['order_no']" to "$_POST['order_id']"

        $mail_admin->_assign('order_no',$_POST['order_id']);

        $mail_admin->_assign('mail',$_POST['email_address']);

	$mail_admin->_assign('message',$message);

	//SB_CHANGED: from "_sendMail();" to "_sendMail($_POST['email_address'],$_POST['firstname'].' '.$_POST['lastname']);"

	$mail_admin->_sendMail($_POST['email_address'],$_POST['firstname'].' '.$_POST['lastname']);

Ich habe das ganze noch etwas aufgebohrt und die anderen Fehler auch beseitigt.

  1. Die E-Mail-Bestätigung für den Kunden ist auskommentiert, da unser Support-System ein seperate Mail versendet.
  2. Die Debug-Mail Adresse wurde gegen die Mail-Adresse getauscht, welche im Shop unter E-Mail-Einstellungen-->"Empfänger-Kontaktformular" hinterlegt ist.
  3. Außerdem wird an die Mail noch eine "Antwort an"-Mail-Adresse hinzugefügt.
  4. Zudem war mir aufgefallen, dass die Bestellnummer nicht in der Admin-Mail enthalten war. Auch korrigiert.
  5. Schlussendlich eben die beschriebene Erweiterung des Sendmail-Befehls, so dass der Absender eindeutig festgelegt wird.

Im Shop unter Inhalte-->E-Mail-Manager ist es nun vollkommen egal was bei "Absender (Name):" und "Absender (E-mail):" steht (kann leer gelassen werden). Die Eintragungen für "Reply (E-Mail):" und "Reply (Name):" müssen leer gelassen werden, ansonsten fügt das System diese Angaben ZUSÄTZLICH zu den Daten, welche über das Kontaktformular eingegeben wurden, ein.

Edit: Wer sich die betreffende Klasse und Funktionen mal anschauen möchte (class xtMailer extends PHPMailer), man findet diese hier: /xtFramework/classes/class.email.php

Grüße

Link to comment
Share on other sites

Archived

This topic is now archived and is closed to further replies.

×
  • Create New...