     el.e('City').t(address.city) if address.city
     el.e('Country').t(address.country) if address.country
     el.e('PhonePrivate').t(address.phone) if address.phone
-    el.e('EmailAddress').t(address.email) if address.email
+    if address.email
+      el.e('EmailAddress').t(address.email)
+    else if @mappings.orderExport.defaultEmail
+      el.e('EmailAddress').t(@mappings.orderExport.defaultEmail)
 
   _validateXML: (xml, xsd) ->
     xmlDoc = libxmljs.parseXmlString xml
     xsdDoc = libxmljs.parseXmlString xsd
     result = xmlDoc.validate(xsdDoc)
-    throw new Error "XML validation against XSD schema failed. XML content: \n #{xml}" if not result
+    throw new Error "XML validation against XSD schema failed. Validation errors: #{xmlDoc.validationErrors} XML content: #{xml}" if not result
 
 module.exports = Orders

    _.filter orders, (order) ->
      _.size(order.syncInfo) is 0 or _.find order.syncInfo, (syncInfo) -> syncInfo.channel.id isnt channel.id

  _ordersToXML: (orders, mappings) ->
    root = builder.create('Orders', { 'version': '1.0', 'encoding': 'UTF-8'})
    root.att('count', orders.length)
    _.each orders, (order, index, list) =>
      orderXML = root.ele("Order", {num: index + 1})
      @_orderToXML(order, orderXML, mappings)
    root

  _orderToXML: (order, orderXML, mappings) =>
    @logger.info "[OrderExport] Processing order with orderNumber: '#{order.orderNumber}', id: '#{order.id}'"
    orderXML.e('OrderId').t(order.orderNumber)
    orderXML.e('OrderDate').t(order.createdAt)

  # 3) Update SPHERE orders with sync information
  ###
  execute: (mappings, targetPath) ->
    @mappings = mappings
    @startTime = new Date().getTime()
    orderQuery = @_buildOrderQuery @_options.numberOfDays

