SMTP über PHPMailer

MyOOS [Dumper]ist ein Sicherungsprogramm für MySQL-Datenbanken. Damit können Sicherungskopien der Daten (Forum, Shop, Blog, usw.) erstellt und bei Bedarf auch wieder hergestellt werden. Besonders bei Web-Space ohne Shell-Zugang bietet sich MyOOS [Dumper] als sinnvolle Alternative an.
Antworten
r23
Beiträge: 2696
Registriert: 18.09.2008, 05:56
Wohnort: Hagen
Kontaktdaten:

SMTP über PHPMailer

Beitrag von r23 »

Hallo,

ich baue zurzeit die TLS/ SSL und Port Auswahl vom MOD in den Onlineshop ein.

Hier verwende ich eine preiswerte Testumgebung von Hetzner. Leider kam es zu Fehlermeldungen.

Mit meiner KI bei der Entwicklungsumgebung kamen wir zu dem Ergebnis:

Eine mögliche Ursache ist, dass du den Namensraum von PHPMailer nicht korrekt verwendest. Du musst entweder die Klasse mit dem vollständig qualifizierten Klassennamen (FQCN) instanziieren:

$phpmailer = new PHPMailer\PHPMailer\PHPMailer();

Oder du definierst den Import am Anfang deiner Datei, bevor du die Klassen lädst:

use PHPMailer\PHPMailer\PHPMailer;

Das wird es dir erlauben, deine vorhandene Zeile new PHPMailer zu verwenden. Diese Lösung wurde in einigen ähnlichen Fragen auf Stack Overflow vorgeschlagen.

Eine andere mögliche Ursache ist, dass du die SMTP-Klasse explizit verwendest, aber nicht importierst. Wenn du diese Zeile in deinem Code hast:

$mail->SMTPDebug = SMTP::DEBUG_SERVER;

Dann musst du entweder den vollständig qualifizierten Namen verwenden:

$mail->SMTPDebug = PHPMailer\PHPMailer\SMTP::DEBUG_SERVER;

Oder du musst den Import hinzufügen:

use PHPMailer\PHPMailer\SMTP;

Das wird verhindern, dass die Klasse SMTP nicht gefunden wird.

Ich hoffe, das hilft dir weiter. Wenn du mehr über PHPMailer erfahren möchtest, kannst du dir die offizielle Dokumentation3 oder das GitHub-Repository ansehen. Viel Erfolg beim Programmieren! 😊


wir verwenden im PHP Script

Code: Alles auswählen

use PHPMailer\PHPMailer\SMTP;
trotzdem erhalte ich bei Hetzer diese Fehlermeldung

Code: Alles auswählen

		$phpmailer->SMTPSecure = PHPMailer\PHPMailer\PHPMailer::ENCRYPTION_SMTPS;
		$phpmailer->SMTPSecure = PHPMailer\PHPMailer\PHPMailer::ENCRYPTION_STARTTLS;
^- im Shop brachte dies die Lösung und ich werde es am Wochenende beim MOD ausprobieren und dann zusätzliche einbauen.


Beste Grüße


Ralf
r23
Beiträge: 2696
Registriert: 18.09.2008, 05:56
Wohnort: Hagen
Kontaktdaten:

Re: SMTP über PHPMailer

Beitrag von r23 »

Hallo,

ich denke, dies ist nicht nötig.

Wenn der E-Mail versandt über SMTP nicht funktioniert, kann man mit

Code: Alles auswählen

$phpmailer->SMTPDebug = PHPMailer\PHPMailer\SMTP::DEBUG_SERVER;
den SMPTDebug einschalten und dieser hilft bei Providern, die keine Informationen über die Nutzung von SMTP zur Verfügung stellen.

grummel...


Beste Grüße

Ralf
Antworten