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 Exchange Konto kann nicht eingerichtet werden für E-Mail Versand User helfen Usern - Fragen zu JTL-Wawi 2
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
Shop Apotheke Bestellungen seit Update als „nicht bezahlt“ – Versand blockiert JTL-Wawi 2.0 6
Neu ERDE an JTL- seit 10h kein Versand wegen Störung! JTL-ShippingLabels - Fehler und Bugs 10
Artikelposition Versand keine Bezeichnung JTL-Wawi 1.11 2
Bundles / Stücklisten + Mehrpaket-Versand → keine Sendungsnummern in Shopify JTL-Wawi 1.9 0
Neu Pickliste hängt fest – Aufträge gesperrt, nicht in Versand sichtbar User helfen Usern - Fragen zu JTL-Wawi 3
Neu JTL übernimmt immer Standard Versand von Amazon Amazon-Anbindung - Fehler und Bugs 0
Neu Referenznummer Grösse auf den Versand Etiketten von DPD-Cloudservice und GLS Api JTL-ShippingLabels - Ideen, Lob und Kritik 0
Artikel Gehen nicht aus In Aufträge raus nach Versand JTL-Wawi 1.11 1
Neu 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 Warnung per Mail wenn Paket seit x Tagen in Filiale zu Abholung (DHL Sendungsverfolgung) Track&Trace JTL-Workflows - Ideen, Lob und Kritik 6
Dropshipping-Trackingnummer erzeugt keine Versandbenachrichtigung per E-Mail JTL-Wawi 1.8 5
Mail geht an Rechnungsmail satt an Liefermail JTL-Wawi 1.11 1
Neu Wokflow alle Sendenummer in eine Mail User helfen Usern - Fragen zu JTL-Wawi 2
Neu Wo verändere ich die Variable #firma.name# die in Mail-Vorlagen zu finden ist? Allgemeine Fragen zu JTL-Shop 2
Kundennummer wird in E-Mail-Bestellung nicht angezeigt JTL-Wawi 1.10 0
Neu Bestellung per Mail, Kunde registriert sich im Nachgang, Bestellung nicht im Kundenkonto User helfen Usern - Fragen zu JTL-Wawi 2
Datenfiltereinstellung funktioniert bei Mail Vorlage nicht. JTL-Wawi 1.9 2
Neu Bewusst deaktivierte Mail-Vorlagen erscheinen als Core Error im Logbuch Betrieb / Pflege von JTL-Shop 5
Neu Nachfrage zu Rabatten im Reiter: Kunden Arbeitsabläufe in JTL-Wawi 1
Auswertung welche Kunden kaufen welche Artikel in Zeitraum x JTL-Wawi 1.11 4
Neu Umsatzsteuernummer von Kunden wird nicht in Wawi übertragen Shopify-Connector 4
Neu Zahlung von Kunden aus dem EU Ausland, Mwst falsch Plugins für JTL-Shop 1
Rechnungen an Rechnungspostfächer von Kunden schicken ohne dass JTL auch andere Dokumente dorthin schickt? JTL-Wawi 1.11 3
Doppelte Kunden zusammen führen führt zu Systembeeinträchtigung JTL-Wawi 1.11 0
Neu Zusatzartikel, Stückliste, Variation den Kunden direkt mit anbieten (Shop/Ebay) User helfen Usern - Fragen zu JTL-Wawi 6
Neu wie Wawi eigene Felder (Kunden) an Shop DB übertragen? User helfen Usern - Fragen zu JTL-Wawi 3
Teilbare Artikel NICHT für Kunden, nur für intern teilbar JTL-Wawi 1.11 5
Neu Frage zu SQL Statement - Kunden-Kommentar aus Auftrag auf Pickliste User helfen Usern - Fragen zu JTL-Wawi 1
Abschalten von Verfügbarkeitsmails von Kunden JTL-Wawi 1.10 5
Neu Kunden nach Onlineshop aktiv filtern? User helfen Usern - Fragen zu JTL-Wawi 2
Neu Kunden-Daten Import / Eigene Felder User helfen Usern - Fragen zu JTL-Wawi 1
Neu Mehrere Shopware Kunden in einem JTL Kundenkonto zusammenführen Onlineshop-Anbindung 0
Übergehe Datensatz, da weder Nachname noch Firmenname und Stasse, Plz, und Ort des Kunden gesetzt sind! JTL-Wawi 1.9 0
Neu Kunden ohne Kauf finden ( Freischaltung für B2B) User helfen Usern - Fragen zu JTL-Wawi 6

Ähnliche Themen