<?php
  $wsdlUrl = ""; //Die URL Ihrer Schnittstelle

  // SoapClient erzeugen
  $client = new SoapClient($wsdlUrl);

  // Timezone setzen (für Aufrufe diverser Funktionen nötig)  
  date_default_timezone_set('Europe/Berlin');
  
  // Request-Objekt deklarieren
  $transactionMail = new StdClass();
  
  /*
   * --------------
   * PFLICHTANGABEN
   * --------------
   */
  // Mandanten-Id
  $transactionMail->mandatorId = 0;
  
  // Id des Transaktions-Channels (siehe Menüpunkt: System-Administration->Transaktions-Channel)
  $transactionMail->channelId = 1;
  
  // Name des Absenders
  $transactionMail->senderName = 'Name des Absenders';
  
  /*
   * E-Mail-Adresse des Absenders (die Domain muss mit einem der Host's der Postfächer die in den
   * Mandanten-Einstellungen konfiguriert sind, übereinstimmen).
   */
  $transactionMail->senderEmail = 'sender@example.net';
  
  // Empfänger-Daten setzen
  $transactionMail->recipient = new StdClass();
  
  // E-Mail-Adresse des Empfängers
  $transactionMail->recipient->emailAddress = 'user@recipient.domain';
  
  /*
   * Um eine personlisierte E-Mail versenden zu können, müssen vorher die persönlichen Daten des Empfängers,
   * die in der E-Mail Verwendung finden, gesetzt werden. Die Namen der Felder müssen groß geschrieben werden
   * und vorher im Datenbankdesigner angelegt worden sein.
   * Ist die E-Mail unpersonalisiert, brauchen selbstverständlich keine persönlichen Daten gesetzt werden.
   */
  $transactionMail->recipient->recipientFields = array();
   
  $recipientField = new StdClass();
  $recipientField->fieldName = 'VORNAME';
  $recipientField->fieldValue = utf8_encode('Max');
  array_push($transactionMail->recipient->recipientFields, $recipientField);
   
  $recipientField = new StdClass();
  $recipientField->fieldName = 'NACHNAME';
  $recipientField->fieldValue = utf8_encode('Mustermann');
  array_push($transactionMail->recipient->recipientFields, $recipientField);
   
  // ...weitere persönliche Daten

  // Betreff der Transaktionsmail
  $transactionMail->subject = utf8_encode('Transaktionsmail an $$VORNAME$$ $$NACHNAME$$');
  
  /*
   * Inhalt der Transaktionsmail.
   * Dieser kann ENTWEDER direkt, oder über die Angabe einer Id einer Newsletter-Vorlage gemacht werden
   * (siehe Menüpunkt: Newsletter-Redaktion->Newsletter-Vorlagen->Vorlagen für "Kampagnen-Editor").
   */
  
  // Direkte Angabe des Inhaltes:
  $transactionMail->mailContent = utf8_encode('<html><body>Hallo $$VORNAME$$ $$NACHNAME$$</body></html>');
  
  // Inhalt über Newsletter-Vorlage:
  //$transactionMail->templateId = 1;
     
  /*
   * -----------------
   * OPTIONALE ANGABEN
   * -----------------   
   */
   
  /*
   * API-Key.
   * Anstatt den Zugriff auf die Backclick-Schnittstelle über freigegebene IP-Adressen zu regeln,
   * kann die Zugriffsberechtigung auch über einen API-Key geregelt werden.
   * Ist im System ein API-Key definiert, MUSS dieser API-Key (siehe Menüpunkt: System-Administration->Grundeinstellungen
   * ->Einstellungen für das WebInterface) angegeben werden, da die Liste der freigegebenen IP-Adressen dann NICHT GILT!
   */
  //$transactionMail->apiKey = '';
   
  /*
   * Kampagnen-Id.
   * Die Kampagnen-Id kann eine beliebige Zeichenfolgen sein, um Transaktionsmails in den Statistiken danach gruppieren
   * und/oder filtern zu können. Diese Id's sind NICHT über die Backclick-Oberfläche verwaltbar!
   */
  //$transactionMail->campaignId = 'x123';
 
  /*
   * Alternativtext der E-Mail.
   */
  //$transactionMail->alternativeMailContent = utf8_encode('Alternativtext für $$VORNAME$$ $$NACHNAME$$');
 
  /*
   * Speichert den Empfänger mit den angegebenen Daten auf der angegebenen Verteilerliste (Id > 0).
   */
  //$transactionMail->saveRecipientToList = 1;
  
  
  //Ausführen der Abfrage
  try {
    $result = $client->sendTransactionMail($transactionMail);
    var_dump($result);
  } catch (Exception $e) {
    //Hier ist ein Fehler aufgetreten und abgefangen worden, wir geben die Fehlermeldung aus.
    echo "Fehler aufgetreten: " . $e->getMessage() . "\n";
  }
  
?>