Formular Daten mit PHP-Mailer versenden, ohne eine E-Mail-Adresse im Formular einzugeben?

2 Antworten

Vom Beitragsersteller als hilfreich ausgezeichnet

Natürlich, ich kann Ihnen dabei helfen, ein Formular zu erstellen, das Daten mit PHP-Mailer versendet, ohne dass die E-Mail-Adresse des Empfängers im Formular selbst sichtbar ist. Die E-Mail-Adresse des Empfängers wird stattdessen direkt im PHP-Code festgelegt, der das Formular verarbeitet. Hier ist ein grundlegendes Beispiel, wie Sie dies tun können:

Schritt 1: Erstellen Sie Ihr HTML-Formular

Zuerst erstellen Sie Ihr HTML-Formular ohne ein Feld für die E-Mail-Adresse. Hier ist ein einfaches Beispiel:

html

Copy code
<form action="sendmail.php" method="post"> <label for="name">Name:</label> <input type="text" id="name" name="name"><br><br> <label for="message">Nachricht:</label> <textarea id="message" name="message"></textarea><br><br> <input type="submit" value="Senden"> </form>
Schritt 2: Verarbeiten und Senden der Daten mit PHP-Mailer

Erstellen Sie eine PHP-Datei (in diesem Beispiel

sendmail.php

), die die Daten des Formulars verarbeitet und mit PHP-Mailer versendet. Sie müssen PHP-Mailer in Ihrem Projekt installieren, falls Sie dies noch nicht getan haben. Sie können PHP-Mailer mit Composer installieren oder die benötigten Dateien direkt in Ihr Projekt einbinden.

Hier ist ein einfaches Beispiel für

sendmail.php

:

php

Copy code
<?php use PHPMailer\PHPMailer\PHPMailer; use PHPMailer\PHPMailer\Exception; require 'path/to/PHPMailer/src/Exception.php'; require 'path/to/PHPMailer/src/PHPMailer.php'; require 'path/to/PHPMailer/src/SMTP.php'; $mail = new PHPMailer(true); try { //Servereinstellungen //$mail->SMTPDebug = SMTP::DEBUG_SERVER; // Aktivieren Sie diese Zeile für detaillierte Debug-Ausgaben $mail->isSMTP(); $mail->Host = 'smtp.example.com'; // Setzen Sie hier Ihren SMTP-Server $mail->SMTPAuth = true; $mail->Username = 'your-email@example.com'; // SMTP-Benutzername $mail->Password = 'your-password'; // SMTP-Passwort $mail->SMTPSecure = PHPMailer::ENCRYPTION_STARTTLS; $mail->Port = 587; //Empfänger $mail->setFrom('from@example.com', 'Mailer'); $mail->addAddress('empfaenger@example.com'); // Fügen Sie hier die Empfänger-Adresse hinzu //Inhalt $mail->isHTML(true); $mail->Subject = 'Neue Nachricht von Ihrem Formular'; $mail->Body = 'Name: ' . $_POST['name'] . '<br>Nachricht: ' . $_POST['message']; $mail->send(); echo 'Nachricht wurde gesendet'; } catch (Exception $e) { echo "Nachricht konnte nicht gesendet werden. Mailer Error: {$mail->ErrorInfo}"; } ?>

In diesem PHP-Script:

  • Ersetzen Sie
  • path/to/PHPMailer/src/...
  • mit dem tatsächlichen Pfad zu den PHPMailer-Dateien in Ihrem Projekt.
  • Konfigurieren Sie die
  • $mail->Host
  • ,
  • $mail->Username
  • ,
  • $mail->Password
  • und andere Einstellungen entsprechend Ihrem E-Mail-Server.
  • Die E-Mail-Adresse des Empfängers wird mit
  • $mail->addAddress('empfaenger@example.com');
  • festgelegt.

Wenn das Formular abgesendet wird, werden die Daten an

sendmail.php

gesendet, und das PHP-Script verwendet PHP-Mailer, um die Daten an die festgelegte E-Mail-Adresse zu senden, ohne dass die E-Mail-Adresse im Formular selbst erscheint.

https://innowise.com/de/php-development-services/


frage7377332 
Beitragsersteller
 29.01.2024, 15:14

Ich danke ihnen recht herzlich!

Der PHPMailer-Instanz kannst du die Empfängeradresse mittels der addAddress-Methode zuweisen. Schau dir dazu das Beispiel auf der GitHub-Seite von PHPMailer an.


frage7377332 
Beitragsersteller
 28.01.2024, 22:39

Vielen Dank!