Versand E-Mail an Kunden

Lars

Moderator
1. Juli 2006
4.796
9
Greifswald
Bin mir nicht sicher, eigentlich habe ich HTML eingestellt,
aber wenn eine Kunde z.Bsp. eine Bestellbestätigung erhält,
ist der Link zu Bestellhistory nicht anklickbar.


Das sind die Einstellungen im OSC Admin/Email-Optionen

demnach müssten doch HTML Mails versendet werden, oder?



Transportmethode : sendmail
MIME HTML verwenden um E-Mails zu formatieren: Ja[/list]
 

shetani

Aktives Mitglied
28. Februar 2007
226
0
Essen
werde den connectormod nächste tage nochmal anpassen.

Dann sollte

1. Standard Text gehen (geht jetzt schon)
2. send_order_html_email_contrib (geht jetzt schon)
3. Standard HTML email Text (geht jetzt noch nicht)

unterstützt werden.

Grundsätzlich geht es wie gesagt jetzt schon wenn 1. mime html deaktiviert ist oder 2. mime html aktiviert und die contrib verbaut ist

Adder - nein ich werde ihn doch nicht mehr anpassen. Ich denke es ist einfacher wenn derjenige, der HTML emails versenden will, sich idealerweise die Contrib einbaut
 

Andre_Z

Aktives Mitglied
16. November 2007
6
0
Hallo Shetani,
erst mal danke für deinen Code. Es funktioniert bei mir sehr gut, nur dass die Versandbestätigung mit dem Platzhalter für den OSC Text angezeigt wird (dieses %s), was ich jetzt in der Orders entfernt habe. Dadurch kann man zwar leider nichts mehr im Admin-Bereich bei Umstellung auf versendet hinzufügen, aber das soll ja eh nicht gemacht werden, da alles übers Wawi laufen soll.

2 Sachen sind mir noch aufgefallen, die in diesen Thread gehören und da du dich scheinbar gut auskennst, frage ich also hier ohne neuen Thread weiter.

1. Dieser mögliche "IdentCode" vom Wawi wird immer automaitsch mit in die Versandbestätigung geschrieben. Kann man das irgendwie ausblenden, wenn man ihn nicht braucht?

2. Wenn ein Kunde aus UK seine Bestellung in englischer Sprache durchführt, erhält er auch eine englische Bestellbestätigung, aber die Versandbestätigung ist über das Wawi, sowie über den OSC-Adminbereich immer in Deutsch. Weißt du vielleicht, ob man das ändern kann? Ich gehe davon aus, dass es sich da um Einstellungen direkt im OSC handelt. Leider kam auf meine Anfrage im OSC-Forum daruaf bis jetzt auch noch keine Antwort.

Gruß und Dank
Back
 

shetani

Aktives Mitglied
28. Februar 2007
226
0
Essen
Theoretisch kannst Du den Identcode ausblenden - soweit ich mich erinnern kann wurde der Connector derart angepasst, das er nur dann integriert wird, wenn der Identcode in der Wawi eingegeben wurde. Muss ich bei Gelegenheit mal checken.

Zu der Mehrsprachigkeit, OSC Statusmails richten sich immer nach der Standardsprache die im shop integriert ist. In deinem Fall wohl deutsch. Standardmässig erfolgt der Versand eben nur in der Standardsprache - mal sehen ob ich das ebenfalls bei Gelegenheit checken kann.
 

D********t

Guest
Zitat von shetani:
OK, here we go

Die Modifikation arbeitet mit der Contrib Send HTML email ebenso wie mit den Standards nach Durchführung der unten ausgeführten Änderungen


Immer schön daran denken - Backup ;)

Um den OSC- Connector dazu zu bringen von JTL Wawi aus eine Versandbenachrichtigung an den Kunden zu senden müssen lediglich folgende Änderungen an der Datei SetBestellung.php im Verzeichnis dbes vorgenommen werden

Code:
<?php
/**
 * jtlwawi_Connector/dbeS/SetBestellung.php
 * Synchronisationsscript
 * 
 * Es gelten die Nutzungs- und Lizenzhinweise unter [url]http://www.jtl-software.de/jtlwawi.php[/url]
 * 
 * @author JTL-Software <thomas@jtl-software.de>
 * @copyright 2006, JTL-Software
 * @link [url]http://jtl-software.de/jtlwawi.php[/url]
 * @version v1.0 / 16.06.06
 * @version v1.0x / 19.07.07 mod for Versandemail by shetani supporting send HTML Mail contrib 
*/

define ('BESTELLUNG_VERSANDT_EMAIL_SCHICKEN',1);
define ('DHL_LINK_IN_MAIL_EINBAUEN',1); 
define ('DPD_LINK_IN_MAIL_EINBAUEN',0);
define ('GLS_LINK_IN_MAIL_EINBAUEN',0); 
require_once("syncinclude.php");

$return=3;
if (auth())
{
	$return=5;
	//Bestellung versandt
	if (intval($_POST["action"]) == 6 && intval($_POST['KeyBestellung']))
	{
		$return = 0;
		//setze orders_status auf gewählte Option bei eS Versadnt
		//hole einstellungen
		$cur_query = eS_execute_query("select StatusVersendet from eazysales_einstellungen");
		$einstellungen = mysql_fetch_object($cur_query);
		
		//setze status der Bestellung
		if ($einstellungen->StatusVersendet>0 && $_POST["VersandDatum"])
		{
			eS_execute_query("update orders set orders_status=".$einstellungen->StatusVersendet." where orders_id=".intval($_POST['KeyBestellung']));
			//füge history hinzu
			$VersandInfo = realEscape($_POST["VersandInfo"]);
			$VersandDatum = realEscape($_POST["VersandDatum"]);
			$Tracking = realEscape($_POST["Tracking"]);
			
			//PLZ der Lieferadresse holen 
			$liefer_query = eS_execute_query("select delivery_postcode from orders where orders_id=".intval($_POST['KeyBestellung'])); 
			$Order = mysql_fetch_object($liefer_query); 	
			
			//Sendungsverfolgungslinks
			$DHL_Link = "http://nolp.dhl.de/nextt-online-public/set_identcodes.do?lang=de&zip=".$Order->delivery_postcode."&idc=".$Tracking; 
			$DPD_Link = "http://extranet.dpd.de/cgi-bin/delistrack?typ=1&lang=de&pknr=$Tracking&submit="; 
			$GLS_Link = "http://www.gls-germany.com/online/paketstatus.php3?mode=&hasdata=1&datatype=paketnr&paketnr=".$Tracking."&filter=all&search_x=10&search_y=10"; 			

			//Plaintext Kommentar bauen
			$kommentar_txt = "\nIhre Bestellung wurde am $VersandDatum versandt.\n".$VersandInfo."\nIdentCode".$Tracking;
			//HTML Kommentar bauen
			$kommentar_html = "
Ihre Bestellung wurde am $VersandDatum versandt.

".$VersandInfo;
			
			if ($Tracking !=''){
			$kommentar_html .="
IdentCode : ".$Tracking."

";						
			
			if (DHL_LINK_IN_MAIL_EINBAUEN==1) 
			{ 
				$kommentar_txt."\nLink zur Sendeverfolgung: ".$DHL_Link; 
				$kommentar_html.='
Link zur Sendeverfolgung: [url="'.$DHL_Link.'"]'.$DHL_Link.'[/url]'; 
			} 
			elseif (DPD_LINK_IN_MAIL_EINBAUEN==1) 
			{ 
				$kommentar_txt."\nLink zur Sendeverfolgung: ".$DPD_Link; 
				$kommentar_html.='
Link zur Sendeverfolgung: [url="'.$DPD_Link.'"]'.$DPD_Link.'[/url]'; 
			} 
			elseif (GLS_LINK_IN_MAIL_EINBAUEN==1) 
			{
				$kommentar_txt."\nLink zur Sendeverfolgung: ".$GLS_Link; 
				$kommentar_html.='
Link zur Sendeverfolgung: [url="'.$GLS_Link.'"]'.$GLS_Link.'[/url]'; 				
			}
			}			
			
			if (BESTELLUNG_VERSANDT_EMAIL_SCHICKEN==1) 
			{ 
				eS_execute_query("insert into orders_status_history (orders_id, orders_status_id, date_added, comments, customer_notified) values(".intval($_POST['KeyBestellung']).", ".$einstellungen->StatusVersendet.", now(), \"".$kommentar_txt."\", 1)"); 
				//mail aus OSC rausschicken 
				sende_osc_mail(intval($_POST['KeyBestellung']),$kommentar_txt,$kommentar_html); 
			} 
			else 
			{ 
				eS_execute_query("insert into orders_status_history (orders_id, orders_status_id, date_added, comments) values(".intval($_POST['KeyBestellung']).", ".$einstellungen->StatusVersendet.", now(), \"".$kommentar_txt."\")"); 
			}			
		}
 	}

	//Bestellung erfolgreich abgeholt
	if (intval($_POST["action"]) == 5 && intval($_POST['KeyBestellung']))
	{
		$return = 0;
		//setze orders_status auf gewählte Option bei eS Abholung
		//hole einstellungen
		$cur_query = eS_execute_query("select StatusAbgeholt from eazysales_einstellungen");
		$einstellungen = mysql_fetch_object($cur_query);
		
		//setze status der Bestellung
		if ($einstellungen->StatusAbgeholt>0)
		{
			eS_execute_query("update orders set orders_status=".$einstellungen->StatusAbgeholt." where orders_id=".intval($_POST['KeyBestellung']));
			//füge history hinzu
			$kommentar = "Erfolgreich in JTL-Wawi übernommen";
			eS_execute_query("insert into orders_status_history (orders_id, orders_status_id, date_added, comments) values(".intval($_POST['KeyBestellung']).", ".$einstellungen->StatusAbgeholt.", now(), \"".$kommentar."\")");
		}
		
		//setze bestellung auf abgeholt
		eS_execute_query("insert into eazysales_sentorders (orders_id, dGesendet) values (".intval($_POST['KeyBestellung']).",now())");
	}
}

function sende_osc_mail($KeyBestellung, $kommentar_txt, $kommentar_html)
{
	require_once(DIR_FS_ADMIN.DIR_WS_INCLUDES . 'filenames.php');
    $configuration_query = tep_db_query('select configuration_key as cfgKey, configuration_value as cfgValue from ' . TABLE_CONFIGURATION);
  while ($configuration = tep_db_fetch_array($configuration_query)) {
    define($configuration['cfgKey'], $configuration['cfgValue']);
  }
    require_once(DIR_FS_ADMIN.DIR_WS_FUNCTIONS . 'general.php');
    require_once(DIR_FS_ADMIN.DIR_WS_FUNCTIONS . 'html_output.php');
	require_once(DIR_FS_ADMIN.DIR_WS_FUNCTIONS . 'validations.php');
	require_once(DIR_FS_ADMIN.DIR_WS_CLASSES . 'mime.php');
  	require_once(DIR_FS_ADMIN.DIR_WS_CLASSES . 'email.php');
    include(DIR_FS_ADMIN.DIR_WS_CLASSES . 'language.php');
    $lng = new language();
    $language = $lng->language['directory'];
    $languages_id = $lng->language['id'];
  	require_once(DIR_FS_ADMIN.DIR_WS_LANGUAGES . $language . '.php');
	require_once(DIR_FS_ADMIN.DIR_WS_LANGUAGES . $language .'/orders.php');	
	//hole einstellungen
	$cur_query = eS_execute_query("select languages_id from eazysales_einstellungen");
	$einstellungen = mysql_fetch_object($cur_query);

    $check_status_query = tep_db_query("select customers_name, customers_email_address, orders_status, date_purchased from " . TABLE_ORDERS . " where orders_id = '".$KeyBestellung ."'");
    $check_status = tep_db_fetch_array($check_status_query);

 //BEGIN SEND HTML MAIL//

//Prepare variables for html email//
$Varlogo = ''.VARLOGO.'' ;
$Vartable1 = ''.VARTABLE1.'' ;
$Vartable2 = ''.VARTABLE2.'' ;

$Vartext1 = ' [b]' . EMAIL_TEXT_DEAR . ' ' . $check_status['customers_name'] .' [/b]
' . EMAIL_MESSAGE_GREETING ;
$Vartext2 = '    ' . EMAIL_TEXT_ORDER_NUMBER . ' [b] ' .$KeyBestellung . '[/b]
' . EMAIL_TEXT_DATE_ORDERED . ': [b]' . strftime(DATE_FORMAT_LONG) . '[/b]
[url="' . HTTP_SERVER . DIR_WS_CATALOG . 'account_history_info.php?order_id=' . $KeyBestellung . '"]' . EMAIL_TEXT_INVOICE_URL . '[/url]' ; 

$Varbody = EMAIL_TEXT_COMMENTS_UPDATE . ' ' . $kommentar_html . "\n\n" . sprintf(EMAIL_TEXT_STATUS_UPDATE, $orders_status_array[$status]);

$Varmailfooter = ''.VARMAILFOOTER.'' ;

$Varhttp = ''.VARHTTP.'';
$Varstyle = ''.VARSTYLE.'';

//Check if HTML emails is set to true
if (EMAIL_USE_HTML == 'true') {	

//Prepare HTML email
require(DIR_FS_ADMIN.DIR_WS_MODULES . 'email/html_orders.php');
$email = $html_email_orders;
} else {		

//Send text email
            $email = STORE_NAME . "\n" . EMAIL_SEPARATOR . "\n" . EMAIL_TEXT_ORDER_NUMBER . ' ' .$KeyBestellung . "\n" . EMAIL_TEXT_INVOICE_URL . ' ' . tep_catalog_href_link(FILENAME_CATALOG_ACCOUNT_HISTORY_INFO, 'order_id=' . $KeyBestellung, 'SSL') . "\n" . EMAIL_TEXT_DATE_ORDERED . ' ' . tep_date_long($check_status['date_purchased']) . "\n\n" . EMAIL_TEXT_COMMENTS_UPDATE . ' ' . $kommentar_html . "\n\n" . sprintf(EMAIL_TEXT_STATUS_UPDATE, $orders_status_array[$status]);
}

//END SEND HTML MAIL//
        tep_mail($check_status['customers_name'], $check_status['customers_email_address'], EMAIL_TEXT_SUBJECT . ' '.$KeyBestellung, $email, STORE_OWNER, STORE_OWNER_EMAIL_ADDRESS);
}

mysql_close();
echo($return);
logge($return);
?>

Da ich den Code für die Contribution send HTML email angepasst habe solltet Ihr zusätzlich noch in die Datei orders.php im Verzeichnis admin/includes/languages/german/ (bzw in den anderen Sprachverzeichnissen ebenso wenn ihr Multilanguage support nutzt) ans Ende vor dem ?> einfügen

Code:
//BEGIN SEND HTML MAIL//

// Email style
define('STORE_LOGO', 'logoweiss.jpg'); // Your shop logo (location: /catalog/images).
define('BG_TOP_EMAIL', 'pixel_trans.gif');    //Header background image.
define('COLOR_TOP_EMAIL', '#999999');         //Background color of the email header (only visible if no background image)
define('BG_TABLE', 'pixel_trans.gif');    //Detail section background image.
define('COLOR_TABLE', '#f9f9f9');         //Detail section background color of the email header (only visible if no background image)

//First section of text
define('EMAIL_TEXT_DEAR', '

Sehr geehrte(r)');        
define('EMAIL_MESSAGE_GREETING', '

hiermit möchten wir Ihnen mitteilen, das sich der Status Ihrer Bestellung geändert hat.

'); 

//Email Footer
define('EMAIL_TEXT_FOOTER', '[b]Achtung:[/b] Diese eMail-Adresse wurde uns von einem Kunden bekannt gegeben. Wenn Sie nicht der vorgesehene Empfänger der email sein sollten so antworten Sie bitte auf diese email an  ');    
define('EMAIL_TEXT_COPYRIGHT', 'Copyright &copy; 2007 ');

//Define Variables
define('VARSTYLE', '<link rel="stylesheet" type="text/css" href="stylesheetmail.css">');   //location of email css file.
define('VARHTTP', '<base href="' . HTTP_SERVER . DIR_WS_CATALOG . '">');   //Do not change
define('VARMAILFOOTER', '' . EMAIL_TEXT_FOOTER . '[email="' . STORE_OWNER_EMAIL_ADDRESS . '"]' . STORE_OWNER_EMAIL_ADDRESS . '[/email]
' . EMAIL_TEXT_COPYRIGHT . '[url="' . HTTP_SERVER . DIR_WS_CATALOG . '"]'. STORE_NAME .'[/url] ');  //footer
define('VARLOGO', '[url="' . HTTP_SERVER . DIR_WS_CATALOG . '"][img]'. HTTP_SERVER . DIR_WS_CATALOG . DIR_WS_IMAGES . STORE_LOGO .'[/img][/url] ');   //logo
define('VARTABLE1', '<table width="100%"  border="0" cellpadding="0" cellspacing="0" bgcolor="' . COLOR_TOP_EMAIL . '"   background="'. HTTP_SERVER . DIR_WS_CATALOG . DIR_WS_IMAGES . BG_TOP_EMAIL . '"> ');   //Header table formatting
define('VARTABLE2', '<table width="100%" border="0" cellpadding="3" cellspacing="3" bgcolor="' . COLOR_TABLE . '"   background="'. HTTP_SERVER . DIR_WS_CATALOG . DIR_WS_IMAGES . BG_TABLE . '">');   //Body table formatting

//END SEND HTML MAIL//

Hat jemand eine Ahnung, ob das auch mit Zen Cart funktionieren könnte???
 

Lars

Moderator
1. Juli 2006
4.796
9
Greifswald
Ich kenn zwar ZenCart nicht, aber kann ich mir nicht vorstellen, da der shop sicherlich anders aufgebaut ist.. Andere Ordner und DB struktur..
 
Ähnliche Themen
Titel Forum Antworten Datum
Neu E-Mail-Versand Allgemeine Fragen zu JTL-POS 0
Neu DHL Versenden 4.0 - Versand nach USA - Parameter state must be between 1 and 20 characters long. JTL-ShippingLabels - Fehler und Bugs 1
Neu DHL Versenden 4.0 - Versand nach CH - Please enter a valid amount JTL-ShippingLabels - Fehler und Bugs 5
Wawi 1.11.10 : Feldinhalt "Kundenkommentar" fehlt beim Versand in WMS JTL-Wawi 1.11 0
Neu Umstellung auf DHL Versenden 4.0 leeres Versand Label JTL-ShippingLabels - Ideen, Lob und Kritik 5
Neu Nach Update auf JTL-Wawi 2.0.3 keine WMS-Lager mehr auswählbar – Versand komplett blockiert JTL-Wawi 2.0 3
Fehlermeldung bei DHL 4.0 versand JTL-Wawi 2.0 26
Bilder unter Versand- und Zahlungsart unterschiedlich groß Einrichtung JTL-Shop5 0
Problem Wawi 2.0 mit DHL Versand JTL-Wawi 2.0 1
Neu JTL Shipping Fehler bei DHL Versand über WMS ? User helfen Usern - Fragen zu JTL-Wawi 2
Versand Internetmarke funktioniert nicht (Could not load file or assembly 'System.Net.WebProxy, ...) JTL-Wawi 2.0 2
Neu JTL Shop Plugin - BD Automatisierter Widerruf (Von Händler für Händler - Schluss mit Mail-Chaos & Spam-Sorgen!) Plugins für JTL-Shop 0
Druck-/E-Mail-Exportvorlagen verwalten -Lieferschein JTL-Wawi 2.0 3
Neu JTL-Wawi Shopabgleich per E-Mail überwachen (Warnungen & Fehler) Onlineshop-Anbindung 1
Allgemeine Einstellungen --> E-Mail Vorlagen (falsche Mail Codierung) JTL-Wawi 1.11 10
Neu Neuerdings E-Mail benachrichtigung bei "Pick up in Store", allerdings mit E-Mail "Bestellung wurde abgeholt" Shopify-Connector 0
Gelöst Workflow - Seriennummer per Mail versenden JTL-Workflows - Fehler und Bugs 1
Neu Kundensupport Projekt (Mail + eBay + Amazon + JTL + KI) Dienstleistung, Jobs und Ähnliches 0
Neu Kundengruppen-Konsolidierung: Onlineshop-Kundengruppe bestehender Kunden in Masse ändern User helfen Usern - Fragen zu JTL-Wawi 3
Neu DSVGO konform 1000 Kunden in WaWi und Shop löschen! User helfen Usern - Fragen zu JTL-Wawi 4
Neu Eigener Export - Kunden individuelle Preise + verfügbarer Bestand + VK netto der Kundengruppe User helfen Usern - Fragen zu JTL-Wawi 6
Neu Lässt sich irgendwie nachvollziehen welcher Bearbeiter einen Kunden freigeschaltet hat? User helfen Usern - Fragen zu JTL-Wawi 4
Test-Kunden als solche in JTL markieren, um die Auswertungen sauber zu halten? JTL-Wawi 1.11 1
JTL nach Update auf 2.0.3 im Bereich „Kunden“ extrem langsam JTL-Wawi 2.0 1
Neu Custom Checkout - Conversion optimiert mit Speicherung von Standard-Versandart und Zahlungsart am Kunden JTL-Shop - Ideen, Lob und Kritik 1
Neu Sendungsnummer an Onlineshop/Kunden/Amazon/Marktplätze nachträglich übermitteln Schnittstellen Import / Export 0
In Diskussion Doppelte Aufträge von Kunden filtern bzw. markieren JTL-Workflows - Ideen, Lob und Kritik 5
Neu Nachfrage zu Rabatten im Reiter: Kunden Arbeitsabläufe in JTL-Wawi 1

Ähnliche Themen