Formular an zwei Mailadressen schicken

Allgemeine Fragen
inno
Mitglied (Level 10)
Mitglied (Level 10)
Beiträge: 293
Registriert: Do 17. Dez 2020, 11:59

Formular an zwei Mailadressen schicken

Ungelesener Beitrag von inno »

Hallo Tommy,

weisst du, wie ich ein Formular an 2 Mailadressen schicken kann?

$empfaengerEmail = "max@maxmuster.de, mustermann@maxmuster.de,";

So funktioniert das leider nicht.

Danke und Gruß
Benutzeravatar
Tommy Herrmann
Site Admin
Site Admin
Beiträge: 5747
Registriert: So 6. Dez 2020, 07:37
Wohnort: Berlin
Kontaktdaten:

Re: Formular an zwei Mailadressen schicken

Ungelesener Beitrag von Tommy Herrmann »

Moin,

welches Formular verwendest Du denn gerade - ganz genau?

Also, mit dem Formular von Mobirise geht das nicht, weil dort immer nur an einen von "Formoid" validierte Empfänger gesendet werden kann. Durch die Formular-Aktion wird das Formular mittels der HTTP Methode "POST" an den Mailserver von "Formoid" geschickt und dann erst dort mittels PHP verarbeitet und an die eingetrage E-Mail Adresse weiter verschickt.

Bei PHP-Skripten ging das eigentlich mit Komma - aber nein - ich weiß das jetzt auch nicht aus dem Kopf so genau.

Müssen wir mal unseren Werner-Zenke.de fragen. Ich schreibe ihn mal an und mache ihn auf Deine Frage aufmerksam.

Ich habe ja inzwischen auch dieses Mail-Programm von "Arclab":

https://www.mobirise-tutorials.com/Form ... rclab.html

Da kann man beliebig viele Aufgaben erstellen - also auch beliebig viele Empfänger eintragen:

https://www.arclab.com/de/webformular-g ... email.html
Benutzeravatar
Werner-Zenk.de
Mitglied (Level 10)
Mitglied (Level 10)
Beiträge: 755
Registriert: Di 8. Dez 2020, 19:42
Wohnort: Bamberg
Kontaktdaten:

Re: Formular an zwei Mailadressen schicken

Ungelesener Beitrag von Werner-Zenk.de »

Mit dem Kontaktformular-Generator kann man ein solches Script erstellen: https://werner-zenk.de/tools/form.php

2mail.png
Benutzeravatar
Tommy Herrmann
Site Admin
Site Admin
Beiträge: 5747
Registriert: So 6. Dez 2020, 07:37
Wohnort: Berlin
Kontaktdaten:

Re: Formular an zwei Mailadressen schicken

Ungelesener Beitrag von Tommy Herrmann »

Danke Werner,

ich habe ja immer nur den "alten" Generator von Dir in Arbeit und das hatte ich noch nicht entdeckt :tu:

Ich bevorzuge ja meist den alten Formular-Generator, da ich dort den gesamten Quelltext verstehen kann und eben nicht den "PHPMailer" verwende.

Dort kenne ich nur die Option "Empfänger - Auswahlliste hinzufügen" auf der 2. Seite vom Generator, bei der man dann unterschiedliche E-Mail Adressen wählen kann - aber immer nur eine:

Auswahlliste der Empfänger.JPG

Vielleicht könnte man das in eine Mehrfachauswahl ändern?!



Das heißt die Mail wird am Skript des neuen Generators quasi 2 x gesendet - sehe ich das richtig?

Code: Alles auswählen

// Empfänger - E-Mail-Adresse
// Verwenden Sie eine beim Provider registrierte E-Mail-Adresse!
$empfaengerName = ""; // Name des Empfängers
$empfaengerEmail = ""; // E-Mail des Empfängers

$empfaengerName2 = ""; // Name des zweiten Empfängers
$empfaengerEmail2 = ""; // E-Mail des zweiten Empfängers

// E-Mail versenden
  if ($mail->Send()) {

   // Zweite E-Mail versenden
   $mail->ClearAddresses();
   $mail->addAddress($empfaengerEmail2, $empfaengerName2);
   $mail->Send();
Kann man das theoretisch beliebig oft wiederholen?

Nur zum Verständnis. Ist es denn so richtig in PHP:

Code: Alles auswählen

$empfaenger  = 'max@meineDomain.com, moritz@meineDomain.com';
mail($empfaenger, $betreff, $nachricht);
In der Variable $empfaenger werden also die unterschiedlichen Empfänger mittels Komma getrennt, die dann über die PHP Funktion "mail" verschickt wird. Dennoch muss jede dieser Mail-Adressen dem Provider bekannt und dort eben auch angelegt worden sein.

Bis auf das hintere Komma, wäre ja dann das was "inno" oben geschrieben hat auch richtig.
Benutzeravatar
vloppy
Mitglied (Level 7)
Mitglied (Level 7)
Beiträge: 61
Registriert: Fr 11. Dez 2020, 11:34
Wohnort: Kempen
Kontaktdaten:

Re: Formular an zwei Mailadressen schicken

Ungelesener Beitrag von vloppy »

Die einfachste und sicherste Lösung bieten doch fast alle Provider an, indem man eine E-Mail Weiterleitung einrichtet. Ich kann z.B. bei mir neben meiner Hauptadresse (Postfach) dort beliebig viele Weiterleitungen einrichten. Dann braucht man in dem Formular nix zu ändern.

LG u. schönes WE
Benutzeravatar
Werner-Zenk.de
Mitglied (Level 10)
Mitglied (Level 10)
Beiträge: 755
Registriert: Di 8. Dez 2020, 19:42
Wohnort: Bamberg
Kontaktdaten:

Re: Formular an zwei Mailadressen schicken

Ungelesener Beitrag von Werner-Zenk.de »

Tommy Herrmann hat geschrieben: Do 4. Nov 2021, 17:59 Danke Werner,

ich habe ja immer nur den "alten" Generator von Dir in Arbeit und das hatte ich noch nicht entdeckt :tu:
Ja, das hatte ich auch erst letzte Woche programmiert :D
Beim alten Generator ist das etwas schwieriger, ich müsste den zuvor erst programmieren und testen, keine Ahnung. wo die 2 Mail- Adresse eingefügt wird ... Ich möchte es dem User auch so einfach wie möglich machen.
Tommy Herrmann hat geschrieben: Do 4. Nov 2021, 17:59 // E-Mail versenden
if ($mail->Send()) {

// Zweite E-Mail versenden
$mail->ClearAddresses();
$mail->addAddress($empfaengerEmail2, $empfaengerName2);
$mail->Send();[/code]

Kann man das theoretisch beliebig oft wiederholen?

Nur zum Verständnis. Ist es denn so richtig in PHP:

Code: Alles auswählen

$empfaenger  = 'max@meineDomain.com, moritz@meineDomain.com';
mail($empfaenger, $betreff, $nachricht);
In der Variable $empfaenger werden also die unterschiedlichen Empfänger mittels Komma getrennt, die dann über die PHP Funktion "mail" verschickt wird. Dennoch muss jede dieser Mail-Adressen dem Provider bekannt und dort eben auch angelegt worden sein.
Wenn ich das in Komma getrennt zulasse dann bräuchte ich erst wieder eine Funktion die jede Mail einzeln aufnimmt.

Es ist Wochenende und da habe ich Zeit für so etwas ;)
....

https://werner-zenk.de/tools/formulargenerator.php


2empfaenger.png
Benutzeravatar
Tommy Herrmann
Site Admin
Site Admin
Beiträge: 5747
Registriert: So 6. Dez 2020, 07:37
Wohnort: Berlin
Kontaktdaten:

Re: Formular an zwei Mailadressen schicken

Ungelesener Beitrag von Tommy Herrmann »

na das ging ja schnell :eek:

Wahnsinn :tu:

Danke Werner :)

Ich glaube da werden viele dankbar sein, denn die Frage kam jetzt schon wirklich oft.
inno
Mitglied (Level 10)
Mitglied (Level 10)
Beiträge: 293
Registriert: Do 17. Dez 2020, 11:59

Re: Formular an zwei Mailadressen schicken

Ungelesener Beitrag von inno »

Sorry, für die Verspätung!
So schaut mein PHP-Script aus.

Code: Alles auswählen

<?php
// mailscript.php
$empfaengerName = "Mas Mustermann";
$empfaengerEmail = "max@mustermann.de"; 
$dankeSeite = "./success.html"; 
$fehlerSeite = "fehler.html";

$betreffEmail = "Neue Anfrage Homepage";


if ($_SERVER["REQUEST_METHOD"] == "POST") {

  
  date_default_timezone_set("Europe/Berlin");
  $datum = date("d.m.Y H:i");

  $_POST = array_map('strip_tags', $_POST);

  
  $inhaltEmail = "Gesendet am: $datum Uhr

   Firma: " . $_POST["firma"] . "   
   Name: " . $_POST["name"] . "
   Telefon: " . $_POST["phone"] . "
   E-Mail: " . $_POST["email"] . "
   
   Nachricht:
   " . $_POST["nachricht"] . "
   ";

  require "PHPMailer-5.2-stable/PHPMailerAutoload.php";

  
  $mail = new PHPMailer();
  $mail->CharSet = "UTF-8";

  
  $mail->setFrom($_POST["email"], $_POST[""]);
  $mail->addAddress($empfaengerEmail, $empfaengerName);

  
  $mail->Subject = $betreffEmail;
  $mail->Body = $inhaltEmail;

 
 if ($mail->Send()) {
  header("Location: " . $dankeSeite);
 }
 else {
  header("Location: " . $fehlerSeite);
 }
}
?>
Benutzeravatar
Tommy Herrmann
Site Admin
Site Admin
Beiträge: 5747
Registriert: So 6. Dez 2020, 07:37
Wohnort: Berlin
Kontaktdaten:

Re: Formular an zwei Mailadressen schicken

Ungelesener Beitrag von Tommy Herrmann »

Moin,

Du hast schon gesehen, dass Werner extra seine beiden Formular-Generatoren umgeschrieben hat und nun die Möglichkeit geschaffen hat an zwei E-Mail Adressen zu senden.
Benutzeravatar
Werner-Zenk.de
Mitglied (Level 10)
Mitglied (Level 10)
Beiträge: 755
Registriert: Di 8. Dez 2020, 19:42
Wohnort: Bamberg
Kontaktdaten:

Re: Formular an zwei Mailadressen schicken

Ungelesener Beitrag von Werner-Zenk.de »

Hallo,
du musst dir die neuste Version des PHPMailers herunterladen: https://github.com/PHPMailer/PHPMailer

phpmailer65.png

Das endpackte Verzeichnis heißt dann: PHPMailer-master dieses legst du zusammen mit dem Script ins gleiche Verzeichnis.

Code: Alles auswählen

<?php
// PHPMailer einbinden
use PHPMailer\PHPMailer\PHPMailer;
use PHPMailer\PHPMailer\Exception;

require __DIR__ . "/PHPMailer-master/src/Exception.php";
require __DIR__ . "/PHPMailer-master/src/PHPMailer.php";

// Empfänger - E-Mail-Adresse
// Verwenden Sie eine beim Provider registrierte E-Mail-Adresse!
$empfaengerName = ""; // Name des Empfängers
$empfaengerEmail = ""; // E-Mail des Empfängers

$empfaengerName2 = ""; // Name des zweiten Empfängers
$empfaengerEmail2 = ""; // E-Mail des zweiten Empfängers

$dankeSeite = "./success.html";
$fehlerSeite = "fehler.html";

$betreffEmail = "Neue Anfrage Homepage";


if ($_SERVER["REQUEST_METHOD"] == "POST") {

 date_default_timezone_set("Europe/Berlin");
 $datum = date("d.m.Y H:i");

 $_POST = array_map('strip_tags', $_POST);

  $inhaltEmail = "Gesendet am: $datum Uhr

   Firma: " . $_POST["firma"] . "   
   Name: " . $_POST["name"] . "
   Telefon: " . $_POST["phone"] . "
   E-Mail: " . $_POST["email"] . "
   
   Nachricht:
   " . $_POST["nachricht"] . "
   ";

 $mail = new PHPMailer();
 $mail->CharSet = "UTF-8";

 $mail->setFrom($_POST["email"], $_POST[""]);
 $mail->addAddress($empfaengerEmail, $empfaengerName);

 $mail->Subject = $betreffEmail;
 $mail->Body = $inhaltEmail;

 if ($mail->Send()) {

  // Zweite E-Mail versenden
  $mail->ClearAddresses();
  $mail->addAddress($empfaengerEmail2, $empfaengerName2);
  if ($mail->Send()) {
   header("Location: " . $dankeSeite);
  }
  else {
   header("Location: " . $fehlerSeite);
  }
 }
 else {
  header("Location: " . $fehlerSeite);
 }
}
?>
inno
Mitglied (Level 10)
Mitglied (Level 10)
Beiträge: 293
Registriert: Do 17. Dez 2020, 11:59

Re: Formular an zwei Mailadressen schicken

Ungelesener Beitrag von inno »

Danke Werner, das teste ich am Wochenende.
@ Tommy: Ich weiss, aber ich habe bis jetzt immer dieses PHP-Script verwendet.

Danke für die tolle Hilfe! :tu:
inno
Mitglied (Level 10)
Mitglied (Level 10)
Beiträge: 293
Registriert: Do 17. Dez 2020, 11:59

Re: Formular an zwei Mailadressen schicken

Ungelesener Beitrag von inno »

Hallo Werner, ich habe ganz vergessen mich zu melden. Funktioniert perfekt so! Dankeschön! :)
Nachtfalke
Mitglied (Level 7)
Mitglied (Level 7)
Beiträge: 67
Registriert: Mi 16. Dez 2020, 18:48
Wohnort: Main-Kinzig-Kreis, Hessen

Re: Formular an zwei Mailadressen schicken

Ungelesener Beitrag von Nachtfalke »

Hallo,
ich stehe total auf dem Schlauch.

Es geht um zwei verschiedene Kontakt Formulare von Mobirise innerhalb der Website.

Also unter http://dm-webmedia.de/webseiten/casaazz ... erung.html mit der Mailadresse reservierung@xyz.de und unter http://dm-webmedia.de/webseiten/casaazz ... ntakt.html mit der Mailadresse kontakt@xyz.de.

Hierfür möchte mit dem Mail-Skript und Weiterleitung zur Erfolgsseite wie hier unter https://mobirise-tutorials.com/Kontakt-Formular.php beschrieben einbinden.

Kann ich das damit überhaupt machen?
Mobirise v5.9.4

Gruß
Dieter
Benutzeravatar
Tommy Herrmann
Site Admin
Site Admin
Beiträge: 5747
Registriert: So 6. Dez 2020, 07:37
Wohnort: Berlin
Kontaktdaten:

Re: Formular an zwei Mailadressen schicken

Ungelesener Beitrag von Tommy Herrmann »

Moin Dieter,

ja, das sollte gehen.

Bitte gehe Schritt für Schritt vor und versuche es doch zunächst mal mit dem einfachen Kontakt-Formular.

Man sollte so etwas zunächst an einer Testseite üben. Erst wenn es dann dort funktioniert überträgt man das in die eigentliche Homepage.

Du musst im Skript dann die Daten von Deinem Mailserver eintragen (wie auf meiner Seite beschrieben) - also dort dann auch Deine E-Mail-Adresse und Deine Feldnamen:

Code: Alles auswählen

// Inhalt der E-Mail setzen
 $inhaltEmail = "Gesendet am: $datum Uhr
  Name: " . $_POST["firstname"] . "
  E-Mail: " . $_POST["email"] . "
  Nachricht: " . $_POST["message"] . "
 ";
Dieses Skript vom Werner verwendet dann das fertige Skript "PHPMailer" an das diese Feldnamen übergeben werden müssen. Die Skripte vom "PHPMailer" - also das gesamte Verzeichnis:

PHPMailer-master-6-4-0

... das Du auf meiner Seite herunter geladen hast, musst Du natürlich in das "Stammverzeichnis" Deines Projektes kopieren (das geht nur online zu testen, da diese Skripte ja PHP verwenden).

Das "Stammverzeichnis" ist das Verzeichnis, in das Du auch Deine Mobirise-Seiten publizierst, also dort wo z.B. die Startseite "index.html" auch liegt.

Natürlich musst Du dann im Mobirise-Formular, anstelle Deiner E-Mail-Adresse, den Namen von Werners Skript eintragen:

mailscript.php

was Du natürlich ebenso mit Deinem FTP-Programm in das "Stammverzeichnis" Deines Servers kopieren musst, nachdem Du dort die Änderungen vorgenommen hast.

Für das zweite Formular musst Du das Skript vom Werner erneut mit der anderen E-Mail-Adresse von Dir und den anderen Feldnamen umschreiben und es dann natürlich auch anders benennen, wie z.B.:

mailscript2.php

und diesen Namen dann auch anstelle Deiner E-Mail-Adresse im Mobirise-Formular unten eintragen und ebenfalls in das Stammverzeichnis kopieren.
Nachtfalke
Mitglied (Level 7)
Mitglied (Level 7)
Beiträge: 67
Registriert: Mi 16. Dez 2020, 18:48
Wohnort: Main-Kinzig-Kreis, Hessen

Re: Formular an zwei Mailadressen schicken

Ungelesener Beitrag von Nachtfalke »

Guten Morgen Tommy,

Danke für die ausführliche Info.
Ich werde das mal so testen. Wenn ich Fragen habe, melde ich mich nochmal.
Mobirise v5.9.4

Gruß
Dieter
Nachtfalke
Mitglied (Level 7)
Mitglied (Level 7)
Beiträge: 67
Registriert: Mi 16. Dez 2020, 18:48
Wohnort: Main-Kinzig-Kreis, Hessen

Re: Formular an zwei Mailadressen schicken

Ungelesener Beitrag von Nachtfalke »

Hallo Tommy,

eine Frage habe ich doch noch.

Unter // Absender und Empfänger kommt doch dann der Mailabsender (reservierung@xyz.de) und der, der die Mail (eigentlicher@empfänger.de) bekommen soll ?

// Absender und Empfänger
$mail->setFrom("reservierung@xyz.de ", "XYZ Reservierung"); // Absender
$mail->addAddress("eigentlicher@empfänger.de", "XYZ Reservierung"); // Empfänger

Ich nutze übrigens das SMTP Mailscript.
Mobirise v5.9.4

Gruß
Dieter
Benutzeravatar
Tommy Herrmann
Site Admin
Site Admin
Beiträge: 5747
Registriert: So 6. Dez 2020, 07:37
Wohnort: Berlin
Kontaktdaten:

Re: Formular an zwei Mailadressen schicken

Ungelesener Beitrag von Tommy Herrmann »

Ja, so ist es richtig
Nachtfalke
Mitglied (Level 7)
Mitglied (Level 7)
Beiträge: 67
Registriert: Mi 16. Dez 2020, 18:48
Wohnort: Main-Kinzig-Kreis, Hessen

Re: Formular an zwei Mailadressen schicken

Ungelesener Beitrag von Nachtfalke »

Hat alles wunderbar funktioniert. Wie soll es auch bei der Unterstützung anders sein.
OK… das war ja auch jetzt nicht soooo schwer.

Und noch was. Die Mail die dann z.B. für die Reservierung ankommt (siehe unten), hat das Datum 2022-03-03
Kann man das ändern, so das es im deutschen Format dargestellt (TT.MM.JJJJ) wird? (03-03-2022 oder 03.03.2022)
Die Uhrzeit stimmt ja. Oder liegt es sogat am Formulare von Mobirise?

Das mailscript sollte ja auch richtig sein.

// Zeitzone und das aktuelle Datum setzen
date_default_timezone_set("Europe/Berlin");
$datum = date("d.m.Y H:i");


Von: Casa Azzurra Reservierung <reservierung@xyz.de>
Datum: 1. März 2022 um 18:00:53 MEZ
An: Casa Azzurra Reservierung <12010@hotmail.de>
Betreff: Reservierung
Gesendet am: 01.03.2022 18:00 Uhr
Vor-Nachname: Dieter Müller
E-Mail: dieter@icloud.com
Datum: 2022-03-03
Uhrzeit: 20:00
Anzahl der Personen: 2
Telefonnummer: +49160123456789
Ihre Anfrage: Das ist eine Reservierungsanfrage zum Testen
Mobirise v5.9.4

Gruß
Dieter
Benutzeravatar
Tommy Herrmann
Site Admin
Site Admin
Beiträge: 5747
Registriert: So 6. Dez 2020, 07:37
Wohnort: Berlin
Kontaktdaten:

Re: Formular an zwei Mailadressen schicken

Ungelesener Beitrag von Tommy Herrmann »

Moin,

ja - das liegt am Formular von Mobirise.

... das habe ich leider auch noch nicht gemacht, da ich für meine "echten" Formulare ja immer die PHP-Skripte vom Werner verwende.

Eventuell kann man in dem Skript "mailscript.php" vom Werner das Format vom Datum umsetzen. Die Zeilen, die Du oben postest sind ja das Datum des Sendens und nicht die POST-Variable.

Wahrscheinlich geht das aber auch mit JavaScript umzusetzen.

Vielleicht liest ja unser Werner das hier und kann helfen.
Benutzeravatar
Werner-Zenk.de
Mitglied (Level 10)
Mitglied (Level 10)
Beiträge: 755
Registriert: Di 8. Dez 2020, 19:42
Wohnort: Bamberg
Kontaktdaten:

Re: Formular an zwei Mailadressen schicken

Ungelesener Beitrag von Werner-Zenk.de »

Das ist kein englisches Datumsformat, sondern ein standardisiertes ISO-Datumsformat.
Wie heißt die Variable in deinem Formular, das müsste ich zumindest wissen, um dir helfen zu können. Ich nehme mal $_POST["datum"]

Vor der Variablen $inhaltEmail
müsste dann das Datum umgestellt werden:
list($jahr, $monat, $tag) = explode("-", $_POST["datum"]);
Und dann in der E-Mail Nachricht neu zusammengesetzt werden:
$inhaltEmail = "$tag.$monat.$jahr";
Antworten

Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 32 Gäste