Formular Daten mit PHP-Mailer versenden, ohne eine E-Mail-Adresse im Formular einzugeben?
Hallo,
ich möchte ein Formular für private Zwecke versenden, jedoch ohne eine E-Mail-Adresse ins Formular zu schreiben. Soweit ich mich an mein altes Wissen erinnern kann, konnte man die entsprechende Mail-Adresse dem Code im Editor zuweisen und alle Formular Daten würden automatisch zu dieser gesendet werden.
Ich wäre euch sehr dankbar, wenn ihr mir weiterhelfen könntet 🙏
2 Antworten
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-FormularZuerst 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-MailerErstellen 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.
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.