Jump to content
xt:Commerce Community Forum
Sign in to follow this  
atroxnoctem

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

Share this post


Link to post
Share on other sites

Habe eine Antwort vom Support:

"Dieses funktioniert so leider nicht, wir werden hier in der nächsten Version jedoch vermutlich eine Lösung anbieten.

Ihr xt:Commerce Team"

Das heißt: In der Version 4.1 funktioniert es derzeit einfach nicht.

Share this post


Link to post
Share on other sites

Hallo Community,

als Anfänger mit xt Commerce 4.1 habe ich eine Frage die euch vieleicht schmunzeln lässt. Wo kann ich den Absender für vom System generierte E-Mails eintragen? Bei mir steht hier "Root User".

Mit freundlichen Grüßen Klaus

Share this post


Link to post
Share on other sites

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.

Share this post


Link to post
Share on other sites

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 ;-)

Share this post


Link to post
Share on other sites

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

Edited by sandra77

Share this post


Link to post
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

Edited by [email protected]

Share this post


Link to post
Share on other sites

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

Share this post


Link to post
Share on other sites

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

Edited by stefanika

Share this post


Link to post
Share on other sites
Sign in to follow this  

×
×
  • Create New...