ottschoottscho MemberComments: 2592 Received thanks: 260 Member since: October 2010 edited January 2016
Hallo,

gibt es eine einfache Möglichkeit dem Kunden eine Kopie der Nachricht zu senden?
Evtl. muss man im Backend nur einen Haken setzen und ich finde diesen nicht.

Danke

Comments

  • ottschoottscho MemberComments: 2592 Received thanks: 260 Member since: October 2010
    Niemand eine Idee? Muss dazu wirklich programmiert werden?
  • SebastianKlöpperSebastianKlöpper AdministratorsComments: 7196 Received thanks: 1674 Member since: June 2010
    Hi,

    im Standard geht nur eine eMail an die hinterlegte eMail-Adresse.
  • ottschoottscho MemberComments: 2592 Received thanks: 260 Member since: October 2010
    Gibts einen einfachen Workaround, wie ich das auf die schnelle im Code löse?
    Eine Email an den Shopbetreiber + Eine Email-Kopie an den Kunden.
    (Ich habe mich bis jetzt noch nie mit dem Kontaktformular beschäftigt!)
  • SebastianKlöpperSebastianKlöpper AdministratorsComments: 7196 Received thanks: 1674 Member since: June 2010
    Hallo,

    nicht jedes Formular muss ja zwingend ein eMail-Feld haben. Man kann dieses aber einbauen und als Typ eMail auswählen.

    Das müsste dann ggf. einfach in der Datei engine/Shopware/Controllers/Frontend/Forms.php mit abfragen im Code unten. Der wird die eMail zusammengebaut.
  • ottschoottscho MemberComments: 2592 Received thanks: 260 Member since: October 2010
    Okay, nur die Frage wie ich bei der eMailer Methode einen zweiten Empfänger oder CC Empfänger eintrage. $mail->replyTo scheint es nicht zu sein.
    //eMail field available check
    		foreach ($this->FormElements as $element) {
    			if($element['typ'] == "email")
    			{
    				$post_email = $this->Post[$element['id']];
    				$post_email = trim($post_email);
    			}
    		}
    		
    		if(!empty($post_email)){
    			$mail->From     = $post_email;
    			$mail->replyTo  = $post_email;
    		}else{
    			$mail->From     = Shopware()->Config()->Mail;
    		}
    
  • ottschoottscho MemberComments: 2592 Received thanks: 260 Member since: October 2010
    so funktionierts...
    $mail->AddAddress($content["email"], "");
    		
    if(!empty($post_email)){
       $mail->AddAddress($post_email, "");
    }
    
  • cyberfuechsincyberfuechsin MemberComments: 3 Received thanks: 0 Member since: December 2013
    Hallo, kann mir nur bitte wer genau sagen was durch was ersetzt werden müsste?

    Vielen Dank

    LG Marina
  • hbrihbri MemberComments: 33 Received thanks: 0 Member since: June 2015
    Bei mir funktioniert es auch nicht. Wie und wo genau werden die beiden Zeilen eingefügt?

    Wir haben auch folgendes erfolglos probiert:
            if (!empty($postEmail)) {
                $mail->From = $postEmail;
    			//Neu Kopie an Kunde
    			$mail->AddCC($postEmail, "");
    
  • hbrihbri MemberComments: 33 Received thanks: 0 Member since: June 2015
    so funktioniert es bei mir (Shopware 4.3.4)

    Ich habe folgende Zeilen abgeändert:

    1. $mail->AddBCC($postEmail, "");
    2. Auskommentiert: //$mail->ClearAddresses();
    3. $mail->From = Shopware()->Config()->Mail;
    Wenn man 3. nicht ändert bekommt der Kunde von sich selber eine Email.
        public function commitForm()
        {
            $mail = Shopware()->System()->sMailer;
            $template = Shopware()->Config()->Templates->sSUPPORT;
            $mail->IsHTML($template['ishtml']);
    
             //eMail field available check
            foreach ($this->_elements as $element) {
                if ($element['typ'] == "email") {
                    $postEmail = $this->_postData[$element['id']];
                    $postEmail = trim($postEmail);
                }
            }
    
            if (!empty($postEmail)) {
    			//Geändert von $postmail zu Shop Email
                $mail->From = Shopware()->Config()->Mail;
    			//Neu Kopie an Kunde
    			$mail->AddBCC($postEmail, "");
            } else {
                $mail->From = Shopware()->Config()->Mail;
            }
    
            $content = $this->View()->sSupport;
    
            $mail->FromName = $mail->From;
            $mail->Subject  = $content["email_subject"];
            $mail->Body     = $content["email_template"];
         	
    
    
            foreach ($this->_postData as $key => $value) {
                if ($this->_elements[$key]['typ'] == "text2") {
                    $names = explode(";", $this->_elements[$key]['name']);
    
                    $mail->Body = str_replace("{sVars." . $names[0] . "}", $value[0], $mail->Body);
                    $mail->Body = str_replace("{sVars." . $names[1] . "}", $value[1], $mail->Body);
                } else {
                    $mail->Body = str_replace("{sVars." . $this->_elements[$key]['name'] . "}", $value, $mail->Body);
                }
            }
    
            $mail->Body = str_replace("{sIP}", $_SERVER['REMOTE_ADDR'], $mail->Body);
            $mail->Body = str_replace("{sDateTime}", date("d.m.Y h:i:s"), $mail->Body);
            $mail->Body = str_replace('{$sShopname}', Shopware()->Config()->shopName, $mail->Body);
            $mail->Body = strip_tags($mail->Body);
    
    		//Auskommentiert da sonst keine CC BCC Mail
            //$mail->ClearAddresses(); Unterdrückt alles
    
            $mail->AddAddress($content["email"], ""); 
    
            $mail = Enlight()->Events()->filter('Shopware_Controllers_Frontend_Forms_commitForm_Mail', $mail, array('subject' => $this));
    
            if (!$mail->Send()) {
                throw new Enlight_Exception("Could not send mail");
            }
        }
    
    
  • AndrewAndrew MemberComments: 133 Received thanks: 2 Member since: October 2015

    Danke für den Code, klappt wunderbar.

    Ich habe nur Angst wegen der Update-Unsicherheit. Gibt es hierzu eine Möglichkeit das Ganze sicher zu gestalten?

  • SkatchSkatch MemberComments: 2 Received thanks: 0 edited March 2016 Member since: March 2016

    Habe von meinem Kunden den Auftrag erhalten, dass eine Kopie des Kontaktformular-Inhaltes an den Kunden rausgehen soll. 

    Habe es durch Einfügen der Zeile 

    $mail->addBcc($postEmail);

    in der forms.php Zeile 310 gelöst. (Version 5.1.4) 

    Der gesamte Absatz sieht nun so aus: 

            $mail->setFrom(Shopware()->Config()->Mail);
            $mail->clearRecipients();
            $mail->addTo($content["email"]);
    		$mail->addBcc($postEmail);
            $mail->setBodyText($mailBody);
            $mail->setSubject($content["email_subject"]);
    

    (Habe es hier an den alten Beitrag angehängt, da dieser immer wieder auch in aktuellen Beiträgen verlinkt wird)

Sign In or Register to comment.