Liste der Anhänge anzeigen (Anzahl: 1)
Catalog Power Mailer: Formular in catalog_full mit indiv. Empfänger
Das Ziel der Anpassung ist, dass man ein Formular aus dem Formulargenerator im catalog_full Template aufrufen kann, das als Empfänger eine Mailadresse vom aktuellen Catalog-Eintrag nutzt.
So kann zum Beispiel der Besucher in einem Branchenindex die Firmen in der Detailansicht über das Kontaktformular individuell kontaktieren.
Danke an leo.unglaub, der mir bei dieser Anpassung mit viel Geduld geholfen hat :)
-----> Anleitung zum Einbau im Contao-Wiki
Swift_RfcComplianceException Fehler im CatalogPowerMailer
Hallo zusammen
@ Nina
Besten Dank für das Tutorial. :D
Ich bin gerade das Versenden über den Catalog am testen und habe mich an die Anleitung von Nina gehalten.
Jetzt bekommen ich nach absendung des Formulares diese Fehlermeldung
Fatal error: Uncaught exception Swift_RfcComplianceException with message Address in mailbox given [] does not comply with RFC 2822, 3.6.2. thrown in C:\xampp\htdocs\contao\plugins\swiftmailer\classes \Swift\Mime\Headers\MailboxHeader.php on line 308
Ich vermute eine ungültige E-Mail Adresse, aber nur wo?
Ich teste das ganze auf xampp mit einer SMTP-Verbindung. Contao 2.10.4
Danke im voraus für eure Hilfe.
Liste der Anhänge anzeigen (Anzahl: 5)
catalog_power_mailer - Was ich falsch mache?
Liebe Community,
ich bastle meine zweite Web-Seite und komme nicht weiter.
Vor einem Jahr habe ich www - Reise eingetreten aber bald festgestellt, dass ich ohne HTML und CSS nicht weiter komme. Folge Bücher und Bücher.
Ich habe schon viel erreicht aber allgemein bin ich immer noch Anfänger. Contao ist auch gut zu lernen.
Im Contao bewege mich schon nicht schlecht, dank auch guter Contao Bücher und Community Beiträgen.
Catalog in Grundfunktionen kann ich auch anwenden. Meine PHP Kenntnisse reichen nur für kleine Änderungen.
Trotzt guter Beschreibung von Nina, (Das Buch für Redakteure habe ich auch aber in diesem Punkt hilft es mir nicht weiter) kommen meine Emails nicht zum Empfänger an.
Anbei die screenshots.
Anhang 6814 Anhang 6815 Anhang 6816 Anhang 6817 Anhang 6818
Im System-log steht aber "Form "Kontakt" has been submitted by IP Adresse".
Ich habe den gesamten thread gelesen und festgestellt dass viele geschafft haben.
An Webhoster dürfte nicht liegen, weil ich auch mit Domain eigene Adresse getestet habe.
Eine online Testversionseite habe ich auch, die ist wegen meinen echten Emails über .htaccess abgesichert.
Über PN kann ich gern Zugang geben.
Vielleicht kann mir jemand weiter helfen, weil ich irgendwo im Kreis tanze.
Contao 2.9.5, catalog 2.0.0 beta2 SVN-311.
Viele Grüße
joe
catalog_power_mailer - geschafft
hallo zusammen,
Nach zwei Tagen Sucherei habe ich gefunden und es funktioniert:)
Habe ich folgendes geändert in Zeile 37 in CatalogPowerMailer.php
von: if ($arrForm['1'] == 'catalogform')
in: if ($arrForm['1'] = 'catalogform')
Da ich mich in PHP ganz wenig auskenne, weiß ich nicht ob das auch beim anderen Problem war.
Außerdem Zeile 49 habe ich geändert in:
$objMail->subject = 'Kontakt';
Originale Zeile: $objMail->subject = $objDbForm->title;
hat kein subjekt von Formular als title übernommen.
Dann ab Zeile 61 habe ich zusätzlich text zugefügt, weiß aber nicht ob so richtig ist. Funktioniert aber einwandfrei.
Für ein Programmierer lächerliche Frage...
$objMail->text = $arrPost[" "] . "Hallo," . "\n\n" . "Sie haben eine Nachricht von: <" .
$arrPost['Name'] . "> bekommen. \n" . // form field 'Name'
Zuletzt noch eine Frage oder Verbesserungsvorschlag.
Wäre möglich auch diese Felder in DB zu speichern z.B. einem neuen Katalog.
Vielleicht ein Hinweis.
Viele Grüße
joe
Liste der Anhänge anzeigen (Anzahl: 3)
catalog_power_mailer - Korrektur
hallo,
jetzt eine korrekte Version.
Anhang 6877 Anhang 6878 Anhang 6879
Die wichtigste Zeile 37 bleibt ohne Änderung, wenn wie Nina vorgeschlagen hat,
den formID Bezeichnung "catalogform" bleibt.
Sonst php Interpreter springt am Ende und keine Fehlermeldung und kein Email bei Empfänger.
Mein Vorschlag ist nichts anderes als diese Abfrage immer auf "true" zu setzen.
Zeile 48 Datensatz ID des Formulars.
Die Datenspeicherung mit der efg Erweiterung funktioniert auch, wenn man die Option Daten im Modul "Formular-Daten speichern" benutzt http://de.contaowiki.org/EFG#Speiche...ackend-Modulen
Bleibt nur: zusätzlich text zugefügen
Info darüber noch nicht gefunden aber müsste es so korrekt sein.
Lokal mit xampp oder anderem kann man auch dieses Catalog-Formular gut testen ohne Email Verbindung zu haben.
Wenn alles korrekt eingestellt ist, findet man im system/logs eine Datei email.log,
wo ein Eintrag "E-mail address rejected:test@test.de" steht,
dagegen in online Betrieb:
"An e-mail has been sent to:test@test.de"
Leider ohne PHP Kenntnisse kommt so was. Aber habe ich auch etwas dazugelernt.
Viele Grüße
joe
Fatal error: Uncaught exception... - Alle Einstellungen geprüft
Hey zusammen,
vielen Dank vorab für die sinnvolle Erweiterung. Für meinen Anwendungsfall exakt das was ich brauche.
Nun habe ich leider ein Problem mit dem Versenden des Formulars, egal wie ich es anstelle ich bekomme immer folgenden Fehler:
Code:
Fatal error: Uncaught exception Swift_RfcComplianceException with message Address in mailbox given [] does not comply with RFC 2822, 3.6.2. thrown in /xxxx/html/plugins/swiftmailer/classes/Swift/Mime/Headers/MailboxHeader.php on line 308
E-Mail Adressen in Einstellungen und Seitenbaum überprüft, ersetzt - nichts tut sich
Server-Version getestet (mediatemple) - nichts tut sich
Client-Version getestet (1und1) - nichts tut sich
Wende das Formular in einer sehr umgebauten Version der Catalog-List an, dachte daran liegts, alles Umgebaut auf Catalog-Reader - nichts tut sich
Hier noch meine Version der CatalogPowerMailer.php
Form ID: catalogform
Absender: Sender
Fields: Name, Phone, Sender, Message
Table: cat_countries
PHP-Code:
class CatalogPowerMailer extends Controller
{
public function sendTheMail($arrPost, $arrForm, $arrFiles)
{
if ($arrForm['formID'] == 'catalogform') // fill in your Form ID (form setting) -> NOT form CSS-ID!
{
$objMail = new Email();
$this->Import('Database');
$this->Import('Input');
/**
* Use form title as mail subject
*/
$objDbForm = $this->Database->prepare('SELECT * FROM tl_form WHERE id=?')
->limit(1)
->execute('11'); // fill in the record ID of your form
$objMail->subject = $objDbForm->title;
/**
* Choose which field of the form should be used as mail sender
*/
$objMail->from = $arrPost['Sender']; // form field 'Absender'
/**
* Choose which fields of the form should be sent as mail text
* Join fields with: . "\n" .
*/
$objMail->text = $arrPost['Name'] . "\n" . // form field 'Name'
$arrPost['Phone'] . "\n" . // form field 'Telefon'
$arrPost['Sender'] . "\n" . // form field 'Absender'
$arrPost['Message']; // form field 'Mitteilung'
/**
* Use email-field of the active catalog item as mail recipient
* Send mail as soon as it hits the sendTo() command
*/
$objDbCatalog = $this->Database->prepare('SELECT * FROM cat_countries WHERE alias=?') // fill in catalog-table name
->limit(1)
->execute($this->Input->get('items'));
$objMail->sendTo($objDbCatalog->email);
}
}
}
So, irgendjemand eine Idee woran es liegt? Tips? Wäre um alles dankbar!
Wünsche euch ein schönes Wochenende
Fatal Error: Wir kommen der Sache näher
Habe gerade nochmals alles gecheckt, leider immer noch nicht erfolgreich, der Fehler scheint aber eingegrenzt.
Es scheint hier ein Problem zu geben:
PHP-Code:
/**
* Use email-field of the active catalog item as mail recipient
* Send mail as soon as it hits the sendTo() command
*/
$objDbCatalog = $this->Database->prepare('SELECT * FROM cat_countries WHERE alias=?') // fill in catalog-table name
->limit(1)
->execute($this->Input->get('items'));
$objMail->sendTo($objDbCatalog->email);
Ersetze ich die letzte Zeile durch:
PHP-Code:
$objMail->sendTo('don@fsb-welfenburg.de');
Kommt die E-Mail mit allen Werten durch. Jedoch ist das ja nicht das Ziel der Sache.
In meiner Datenbank habe ich auch schon alles gecheckt, name stimmt, spaltenname auch, e-mails sind auch drin (zwar nicht zu jedem eintrag, aber zu denen die getestet werden...)
Wäre wirklich dankbar wenn hier jemand einen Lösungsversuch hätte.
Dank euch.
Inhalt eines Catalog-Felds in Betreffzeile anzeigen
Auch ich bin von der Erweiterung sehr begeistert und habe dank der vielen Tipps hier alles soweit zum Laufen gebracht. Allerdings komme ich bei folgendem Problem nicht mehr weiter, weil meine php-Kenntnisse einfach zu schlecht sind.
Mein Kunde hätte gerne noch, dass im Betreff der Email die jeweilige Artikelnummer (kann über ein Catalogfeld eingegeben werden) mitgesendet wird.
Kann mir jemand helfen? Ich weiß nämlich echt nicht, was ich da in die CatalogPowerMailer.php schreiben soll.