PHPMailer Strato

Pfandfinder

Lieutenant
Registriert
Nov. 2020
Beiträge
619
hi,

für einen Kunden will ich ein Kontaktformular programmieren so wie ich es auch auf meinem eigenen vServer habe. Er hostet Website und Email bei STRATO. Doch irgendwie klappt die Mail-Authentifizierung nicht mit seinem Mail-Account von Strato, $mail->ErrorInfo gibt folgendes aus:
Code:
SMTP connect() failed.

Das PHPMailer-Script sieht so aus:
PHP:
$mail=new PHPMailer;
$mail->isSMTP();
$mail->Debugoutput='html';
$mail->Host='smtp.strato.de';
$mail->Port=465;
$mail->SMTPAuth=true;
$mail->Username='absender@example.com';
$mail->Password='XXX';
$mail->CharSet='UTF-8';
$mail->isHTML(true);
$mail->setFrom('absender@example.com');
$mail->addAddress('XXX');
$mail->Subject='Kontakformular';
$mail->Body='

Auch Port 25 nimmt er nicht. Verwende ich meine Mailserver-Daten, funktioniert der Versand.

Infos zu den Mailservern von Strato:

https://www.strato.de/faq/mail/so-lauten-die-strato-e-mail-server/
https://www.strato.de/faq/mail/e-mail-versand-aus-cgi-und-php-skripten/

Mache ich was falsch ?
 
Die Stratoserver wollen doch eigentlich SSL haben, oder?

Code:
$mail->SMTPSecure = "ssl";

Evenuell auch TLS gegenpruefen.
 
Ich sende meine Mails auch über Strato SMTP, allerdings über den Port 587 (TLS). Schau mal hier:

https://www.strato.de/faq/mail/wie-...bindung-ssl-oder-tls-versenden-und-empfangen/

Bitte beachten Sie: Bei der Verwendung als Smarthost (Relay), bspw. über Exchange 2003, verwenden Sie bitte die Standardauthentifizierung per TLS (STARTTLS) über den Port 587 (alternativ Port 25). Zur Authentifizierung verwenden Sie bitte wie gewohnt Ihre E-Mailadresse sowie das dazu gehörige E-Mailpasswort.
Die Nutzung als offenes Mail-Relay ist nicht möglich, da ausschließlich das SMTP-Auth-Verfahren unterstützt wird.

Ebenfalls sei gesagt: Mailadressen welche vor weniger als 4 Wochen erstellt wurden, unterliegen einen SPAM Schutz - sendet man da zu viel raus (es gibt irgendwo eine Zahl/Stunde) wird die Mail zum Versand erstmal eine Weile deaktiviert. Das sieht man dann auch in den entsprechenden SMTP Logs.

Und auf jeden Fall dann dazu:
$mail->SMTPSecure = 'tls';
 
Zuletzt bearbeitet:
ich hab jetzt Port 587 und die Zeile mit tls eingetragen aber es kommt immer noch "SMTP connect() failed" :/
 
Ich weiß gerade nicht aus dem Hut was PHPMailer so an Logs abwerfen kann aber connect failed klingt nicht wie Auth failed sondern eher als wenn er den Server nicht erreichen kann.

Die Skripte die man so findet haben alle noch Leerzeichen vor und nach dem =, ich glaube zwar nicht dass es eine Rolle spielt aber versuchs mal.
 
Hatte schon editiert, sah auf dem Handy komisch aus ;).

Stell mal Debug auf Level1:
Code:
$mail->SMTPDebug = 1;

Was kommt dann an Output heraus?

Ansonsten bitte mal noch diese Security Option testen:
Code:
$mail->SMTPSecure = PHPMailer::ENCRYPTION_STARTTLS;
 
Zuletzt bearbeitet:
Hast Du schon mal geprueft, ob der Servername ueberhaupt aufgeloest wird? @Pfandfinder
 
also von meinem PC aus kann ich den anpingen...

Debug Output sagt die Anmeldedaten seien falsch...

Code:
2021-03-19 19:35:05 CLIENT -> SERVER: [credentials hidden]
2021-03-19 19:35:09 SMTP ERROR: Username command failed: 535 5.7.8 Authentication failed: wrong user/password
SMTP Error: Could not authenticate.
2021-03-19 19:35:09 CLIENT -> SERVER: QUIT
 
Hast du vorher auch ein entsprechendes Postfach/Mailadresse bei Strato angelegt und Passwort vergeben? Oder nimmst du das PW aus dem Strato Login? Das Postfach welches du verwenden möchtest muss auch mit der gleichen Domain angelegt sein wie diejenige die du als Absender nehmen möchtest.
 
Ja dort.

Pruefen der Angaben.
Kann ja beides falsch sein.
Nutzername oder Passwort. Oder halt beides. Ist am Ende hier bei mir diese Meldung.

1616185394263.png
 
Ja, beim Webmail muss der Login auch gehen sonst ist der definitiv falsch.
 
Leg doch für dein PHPMail Skript einfach ein eigenes Postfach bei Strato an. Für den Fall dass man mal gehackt wird, hat derjenige dann nur ein unwichtiges Postfachpasswort und keinen Zugriff auf irgendwas anderes.

Mach ich genauso, bei mir gibt es dann immer ein Postfach Namens mailer@domain.com, du kannst mit dem ja trotzdem Mails unter anderen Namen raus senden wie z.B. newsletter@domain.com.
 
  • Gefällt mir
Reaktionen: Pfandfinder
habe ja ein extra Postfach dafür. PW habe ich jetzt zurückgesetzt und im Script angepasst aber selbst jetzt kommt
Code:
Authentication failed: wrong user/password

wie kann das sein ? Der Strato Webmail Login funktioniert aber jetzt.
 

Ähnliche Themen

Antworten
7
Aufrufe
1.799
N
Antworten
9
Aufrufe
1.474
N
Antworten
8
Aufrufe
2.252
N
Zurück
Oben