PHP mail()-Funktion mit anderem Absender?

Dsimon24

Lieutenant
Registriert
Aug. 2016
Beiträge
595
Moin zusammen,

bei einem kleinen Projekt wollte ich auf den PHPMailer verzichten und stattdessen die mail()-Funktion einsetzen.
Wenn diese eMails über einen vServer versendet, erhalte ich aber bspw. immer den folgenden Absender:
'xyz@stratoserver1234.net' anstelle von bspw. 'mail@david.de'.

Ich habe der mail()-Funktion einen Header übergeben, mit dem folgenden Inhalt:
PHP:
$headers = "MIME-Version: 1.0" . "\r\n";
$headers .= "Content-type: text/plain; charset=utf-8" . "\r\n";
$headers .= "From: David | VJA <mail@david.de>" . "\r\n";
$headers .= "Subject:  {$betreff}" . "\r\n";
$headers .= "X-Mailer: PHP/".phpversion();

mail('x@y.de', $betreff, $text, $headers);

Oder funktioniert kann es aus anderen Gründen nicht funktionieren, die ich dabei nicht bedacht habe?

VG, David
 
Das hört sich nicht so an, als würdest du die E-Mails tatsächlich über den vServer versenden, sondern vielmehr über einen Strato-Server.
Zum PHP-Teil kann ich dir jetzt nichts direkt sagen, aber was mir am Code-Ausschnitt oben fehlt ist eine Authentifizierung oder Angabe des Servers, über den du versendest.
Ich würde mal vermuten, dass dort auch das Problem liegt.
 
Ohne mich mit der Materie im geringsten auszukennen: Liegt es möglichweise am fehlenden Return-Path?
 
burglar225 schrieb:
Das hört sich nicht so an, als würdest du die E-Mails tatsächlich über
den vServer versenden, sondern vielmehr über einen Strato-Server.

Also, ich muss dazu sagen, der vServer ist gehostet bei
Strato.
 
Letztendlich hört es für mich so an, als würdest du für den Versand den Strato-Mailserver verwenden. Das hat mit dem vServer erstmal gar nichts am Hut. Ich nehme mal an, dass auf dem vServer kein Mailserver läuft?
Evtl. musst du bei Strato erst noch einen Alias einrichten: https://www.strato.de/faq/mail/e-mail-accounts-in-strato-webmail-einrichten/#alias_postfach
Dazu kann man aber nichts genaues sagen, solange du nicht mit den anderen Infos rausrückst (Authentifizierung, welcher Server, etc.).
 
Soweit ich weiß, nutzt PHP dafür im Hintergrund sendmail. Dahinter kann sich dann entweder direkt ein MTA verbirgen (der dann in der Regel den Hostname deines Servers nutzt) oder ein SMTP-Client, der das ganze an ein Relay Server sendet.
 
  • Gefällt mir
Reaktionen: Nase
Bagbag schrieb:
der dann in der Regel den Hostname deines Servers nutzt
Kommt daher vielleicht der Domainname beim Versand? SMTP müsste ja wohl konfiguriert werden, damit es verwendet werden kann.
 
@burglar225 davon gehe ich aus, ja. Wenn er einen fertig eingerichteten Server von Strato bekommen hat, kommt das mit dem hostname ja hin. Dass ein SMTP-Server genutzt wird halte ich auch für unwahrscheinlich. Aber theorethisch wäre es ja denkbar, dass Strato bei der Einrichtung direkt ein SMTP-Server mit seinem Account hinterlegt.
 
Zurück
Oben