Email senden an bestimmten User

Mehr
15 Okt 2020 11:11 #4578 von fuchs98
Hallo zusammen,

ich möchte gern die Daten eines Formulars per Mail einem bestimmten User zustellen.

hierzu habe ein Formular erstellt, in dem ich den User per Drag and Drop auswählen kann.
Mit der einem neuen Feld des Typs Email kann ich eine Mail erzeugen, die aber nur an die Mailadresse des angemeldeten Benutzers geht.

Ich suche jetzt aber eine Möglichkeit, eine Mail an den ausgewählten User zu schreiben, heißt SEBLOD® soll das Feld email aus der Tabelle Users nehmen.

Kann mir jemand dazu helfen?

Danke und Gruß
Michael

Bitte Anmelden oder Registrieren um der Konversation beizutreten.

Mehr
15 Okt 2020 11:36 - 15 Okt 2020 11:36 #4579 von Cappu
Hi Michael,

eine Möglichkeit das zu machen sind die Before Store oder After Store aus dem Code Pack www.seblod.com/store/extensions/1854

www.NetzSinn.de
Digitale Präsentation und Kommunikation.
Für eine sinnvolle und konstruktive Nutzung des Internets.
Letzte Änderung: 15 Okt 2020 11:36 von Cappu.

Bitte Anmelden oder Registrieren um der Konversation beizutreten.

Mehr
15 Okt 2020 12:09 #4580 von fuchs98
Hallo Cappu,

daran hatte ich mich auch schon versucht, jedoch fehlt mir hier das Wissen wie die Befehle lauten müssen. Google ist hier leider nicht so ganz ergiebig.

Gruß
Michael

Bitte Anmelden oder Registrieren um der Konversation beizutreten.

Mehr
15 Okt 2020 12:43 - 15 Okt 2020 12:47 #4581 von Cappu
Hi Michael,

oh, ich kann durchaus nachvollziehen, wie das sich anfühlt. Die SEBLOD®-Doku könnte besser sein. -
Zu deinem Problem hier ganz kurz ein Vorschlag, wie ich das angehen würde:

1. Erstelle dir ein Before Store Feld
2. Stell den Modus auf Frei
3. in das große Feld kannst du nun Code eingeben
// hol dir die vom Benutzer ausgewählten Benutzerdaten, z. B.
$myuser = $fields['meinauswahlfeldmituser']->value;
// schreib sie in die von SEBLOD® im nächsten Schritt gespeicherte Datenbank, z. B. 
$config['storages']['#__cck_store_form_meinetabelle']['meineuserid'] = $myuser

Du kannst hier gleich die Userdaten aus der Datenbank holen. - Alternativ kannst du das aber auch erst nach dem Speichern machen in einem After Store Feld. Hier dazu ein Beispiel
1. Erstelle dir ein Before Store Feld
2. Stell den Modus auf Frei
3. in das große Feld kannst du nun Code eingeben
// hol dir die vom Benutzer ausgewählten Benutzerdaten, z. B.
$myuser = $fields['meinauswahlfeldmituser']->value;

//... und lese die daten aus deiner Datenbank (den Tabellennamen musst du natürlich anpassen)
use Joomla\CMS\Factory;
use Joomla\User\Helper;
$db = JFactory::getDBO();

$query = $db->getQuery(true);
$query->select('*');
$query->from($db->escape('#__cck_store_form_meinuser'));
$query->where('id='.$myuser);

try {
	$db->setQuery($query);
       $data = $db->loadObject();
} catch (Exception $e) {
	echo $e->getMessage();
	return false;
}

// Schreibe die E-Mail (mit Joomla ist das nicht schwer)
// definiere hier die parameter $sender, $to, $subject, $body....
// ....
// und so sendest du die E-Mail
$mailer = JFactory::getMailer();
$mailer->setSender($sender);
$mailer->addRecipient($to);
$mailer->setSubject($subject);
$mailer->isHtml(true);
$mailer->Encoding = 'base64';
$mailer->setBody(($body));
$send = $mailer->Send();

www.NetzSinn.de
Digitale Präsentation und Kommunikation.
Für eine sinnvolle und konstruktive Nutzung des Internets.
Letzte Änderung: 15 Okt 2020 12:47 von Cappu.

Bitte Anmelden oder Registrieren um der Konversation beizutreten.

Mehr
16 Okt 2020 10:06 - 16 Okt 2020 10:09 #4583 von fuchs98
Hallo Cappu,

danke für den Input.
Ich habe es jetzt so als Before Store gelöst:
$user1 = $fields['port_kunde']->value;
$user = JFactory::getUser($user1);
$user_mail = $user->get('email');
$config['storages']['#__cck_store_form_port_erfassen']['port_mail2'] = $user_mail;

So wird die Mailadresse in die DB geschrieben und kann als CC-Feld verwendet werden.

Jetzt noch kurz eine andere Sache, ich möchte das Datum nicht so 2020-10-01 00:00:00 ausgeben, sondern TT.MM.YYYY u.a. im Betreff der Mail. Kannst Du mir hier auch auf die Sprüge helfen?

Danke und Gruß
Michael
Letzte Änderung: 16 Okt 2020 10:09 von fuchs98.

Bitte Anmelden oder Registrieren um der Konversation beizutreten.

Mehr
16 Okt 2020 10:33 #4584 von Cappu
Hi Michael,

du meinst im Formular? - Wenn du ein Datumsfeld verwendest, kannst du da im Datums-Feldtyp mit den Einstellungen herumspielen.

Du kannst aber auch mit Before Render den Wert anpassen:
$fields['mein_tag_uhrzeit']->form = str_replace('value=""', 'value="'.date('d.m.Y',strtotime($termin->mein_tag_uhrzeit)).'" selected="selected"', $fields['mein_tag_uhrzeit']->form);

Oder du willst den Wert in einer Liste ausgeben? - Dann gehe im Listen-Reiter auf Nr. 2 und wähle in der Spalte Typographie "Datum" aus. Danach kannst du auf das +Zeichen daneben klicken und das Datumsformat auswählen. (Mag sein, dass du dafür ein Typographie Plugin noch zusätzlich installieren musst, da bin ich mir nicht sicher, ob das standardmäßig dabei ist.

www.NetzSinn.de
Digitale Präsentation und Kommunikation.
Für eine sinnvolle und konstruktive Nutzung des Internets.

Bitte Anmelden oder Registrieren um der Konversation beizutreten.

Powered by Kunena Forum