Antwort an „Passwort“ verfassen

Deine MailHelper-Klasse verwendet den PHPMailer. Den kann man auch direkt nutzen und der könnte dann auch das, was Du brauchst.

Ok, gut zu wissen :-)

Warum die MailHelper-Klasse?

Ganz einfach: Weil der Programmierer das so gemacht hat 😉 Ich hatte mir mal vorgenommen, vieles zu vereinfachen, bin aber nicht dazu gekommen.

Woher kommen die im Code gezeigten Konstanten wie MAIL_FROM_ADDRESS oder MAIL_FROM_NAME?

Sind globale Variablen, die in einer Configdatei deklariert sind. Es ist mein Name und die Adresse für das Senden der Nachricht.

Ich habe das jetzt aufgrund Hinweisen so gelöst: die Mailhelper habe ich so geändert:

public function handleMail(string $subject,
                               string $body,
                               string $to_address,
                               string $to_name,
                               string $from_address,
                               string $from_name,
                               ?string $reply_to = null): PHPMailer
...
            if ($reply_to) {
                $this->mail->addReplyTo($reply_to, $from_name);
                $from_name = MAIL_FROM_NAME;

...

 public function toAdmin(string  $subject,
                            string  $body,
                            ?string $from_address = null,
                            ?string $from_name = null,
                            ?string $reply_to = null): PHPMailer

...

        return $this->handleMail(
            subject: $subject,
            body: $body,
            to_address: MAIL_TO_ADDRESS,
            to_name: MAIL_TO_ADDRESS_NAME,
            from_address: $from_address,
            from_name: $from_name,
            reply_to: $reply_to
        );

Und den Sendevorgang so:


                $mail->toAdmin(
                    subject: 'xxx',
                    body: 'yyy',
                    'Nachricht: ' . $message,   
                     from_name: $name, 
                     reply_to: $email  
                )->send();

Das klappt jetzt auch so wie gewünscht mit dem Senden. Frage: Ist das konform zu envelope-from?

freiwillig, öffentlich sichtbar
freiwillig, öffentlich sichtbar
freiwillig, öffentlich sichtbar

Ihre Identität in einem Cookie zu speichern erlaubt es Ihnen, Ihre Beiträge zu editieren. Außerdem müssen Sie dann bei neuen Beiträgen nicht mehr die Felder Name, E-Mail und Homepage ausfüllen.

abbrechen