PHP Mail-Absender wird ungewollt verändert

Hallo,

ich habe meinem Raspi 2 (öffentliche) Domains zugewiesen, foobar1.de und foobar2.de. foobar2.de ist als VirtualHost unter /etc/apache2/sites-enabled eingerichtet und funktioniert auch.

Nun habe ich eine Mail-Funktion geschrieben, die mir zu bestimmten Zeiten eine Mail schickt.

Diese Mail-Funktion ist unterschiedlich in den beiden php-Dateien definiert, daher will ich auch den Absender anpassen.

foobar1: $etc .= 'From: foobar1 <noreply@foobar1.de>' . "\r\n"; foobar2: $etc .= 'From: foobar2 <info@foobar2.de>' . "\r\n";

Mails, die von foobar2 kommen, tragen allerdings den Absender info@foorbar1.de und ich habe keine Erklärung, warum das bei foobar2 geändert wird. Habe auch die temporären Dateien gelöscht und es auch als globale (unveränderliche) Variable versucht zu übergeben, keine Chance. Wenn ich bspw.

foobar2: $etc .= 'From: foobar2 <info@barfoo2.de>' . "\r\n"; oder

schreibe, dann kommt es auch unverändert an, nur eben bei @foobar2.de wird es zu @foobar1.de geändert und dann verschickt.

VirtualHost sieht so aus:

[code]<VirtualHost *:80>
ServerAdmin admin@foobar2.de

ServerName foobar2.de
ServerAlias *.foobar2.de

ScriptAlias /error/ /var/www/foobar2/err/
<Directory /var/www/foobar2/>
Order allow,deny
Allow from all
AllowOverride all
AuthType Basic

DocumentRoot /var/www/foobar2/
[/code]

Hat jemand ne Erklärung für mich oder kann mir eine Vermutung dazu anstellen?

Vielen Dank im Voraus.

LG, DMan

hi

sprichst Du da vom From:-header oder vom versendenden mailserver?
Da hast Du ja ggf. etwas anderes oder gar die eine Domain eingetragen.
Der From:-header sollte aber, solange nicht irgendwie explizit verboten (das wirst Du ohne beabsichtigte Einstellung nicht erreichen können), von der Mail in den Kopfzeilen gesetzt werden können.

Hier wäre dann nur ein Fehler im Script möglich. machs am besten noch so, dass Dir die Mailheader vor dem Versand einfach mal ausgegeben werden, vielleicht ist da ja was zu sehen.

Sonst auch, ob etwaige header durch ein CGI-script gesetzt/überschrieben werden, das hier das php-parsen übernimmt.

ciao

Hey miro,

entschuldige, ich hätte mich klarer ausdrücken müssen. $etc ist der Header, der als 4. Parameter der normalen mail()-Funktion übergeben wird und da kompletter Bullshit wie @WasFuerEine.TldWtf erlaubt ist, denke ich nicht, dass da irgendwas verboten ist.

Hättest du ein Tipp, wie ich mir das ausgeben lassen kann? Wenn ich bspw.

einer anderen Variable ($from) zuweise und die dann mit echo ausgeben lasse, bekomme ich als Ergebnis “foobar2”, ohne "From: " oder dem was in den Spitzen Klammern steht zurück. Denke mal, ich muss da so etwas wie de2.php.net/mailparse downloaden und benutzen, oder?

LG, Daniel

hi

äh, nicht wirklich, dazu brauchts keine eigene Software.

Gib bitte mal einfach alle Variablen aus, die an mail() übergeben werden. Beachte dabei, dass Du Dir am besten den Quelltext anzeigen lässt und nicht die Browserausgabe, da hier spitze Klammern sonst als html-tags angezeigt bzw. eben nicht angezeigt werden.

Die Funktion, die dann für den Versand der E-Mail mit den unerwünschten headern benutzt wird, wäre hier klarer weise von Interesse. Liegt alles bestimmt an irgendeinem Tippfehler :slight_smile:

Oder Du zeigst mal den ganzen Quelltext dafür her :stuck_out_tongue:

ciao

Hey miro,

hier mal der wichtige Teil des Codes (hoffe du meintest den):

foobar2-Code:

[code]<?php
$emp = "receiver@gmail.com";
$bet = ‘[DMansplace] dUpload’; // Subject
$mes = ’

dNotify | DMansplace

dNotify


Dies ist eine automatisierte Info-Mail.

’;
[…] // Adding Strings to $mes
$mes .= ‘

Gruß, dNotify


Es wird keine Garantie übernommen.
’;

$etc = ‘MIME-Version: 1.0’ . “\r\n”;
$etc .= ‘Reply-To: DMansplace DMan@mymail.de’ . “\r\n”;
$etc .= ‘Content-type: text/html; charset=iso-8859-1’ . “\r\n”;
$etc .= ‘Return-Path: DMan@mymail.de’ . “\r\n”;

$etc .= ‘From: DMansplace dUploadInfo@foobar2.de’ . “\r\n”;<<<
//$etc .= ‘Bcc: DMan@mymail.de’ . “\r\n”;
echo($emp."
".$bet."
".$mes."
".$etc);

mail($emp,$bet,$mes,$etc); // Sent eMail
?>[/code]
Output:

[code]receiver@gmail.com
[DMansplace] dUpload

dNotify | DMansplace
[...] Return-Path: >>>From: DMansplace <<< Success!
// other file [...][/code]

Nun bin ich wirklich verwirrt, hier scheint der richtige Absender ausgegeben zu werden, in meinem Mail-Client wird trotzdem dUploadInfo@foobar1.de als offentsichtlicher Absender angezeigt.

Hier mal noch der Mail-Header, wie er in in Google Mail ist:

[code]Delivered-To: receiver@gmail.com
Received: by 10.79.31.198 with SMTP id f189csp288085ivf;
Fri, 6 May 2016 07:28:14 -0700 (PDT)
X-Received: by 10.28.215.197 with SMTP id o188mr10255246wmg.14.1462544893991;
Fri, 06 May 2016 07:28:13 -0700 (PDT)
Return-Path: www-data@localhost.localdomain
Received: from localhost.localdomain (<>. [<>])
by mx.google.com with ESMTPS id b23si11117545wmi.29.2016.05.06.07.28.13
for receiver@gmail.com
(version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128);
Fri, 06 May 2016 07:28:13 -0700 (PDT)
Received-SPF: neutral (google.com: <> is neither permitted nor denied by best guess record for domain of www-data@localhost.localdomain) client-ip=<>;
Authentication-Results: mx.google.com;
spf=neutral (google.com: <> is neither permitted nor denied by best guess record for domain of www-data@localhost.localdomain) smtp.mailfrom=www-data@localhost.localdomain
Received: from localhost.localdomain (localhost [127.0.0.1])
by localhost.localdomain (8.14.4/8.14.4/Debian-4) with ESMTP id u46ESCNl007293
for receiver@gmail.com; Fri, 6 May 2016 16:28:12 +0200
Received: (from www-data@localhost)
by localhost.localdomain (8.14.4/8.14.4/Submit) id u46ESCKY007290;
Fri, 6 May 2016 16:28:12 +0200
Date: Fri, 6 May 2016 16:28:12 +0200
Message-Id: 201605061428.u46ESCKY007290@localhost.localdomain
To: receiver@gmail.com
Subject: [DanGa-Zone] dUpload
X-PHP-Originating-Script: 0:doNotify.php
MIME-Version: 1.0
Reply-To: DanGa-Zone DMan@mymail.de
Content-type: text/html; charset=iso-8859-1

From: DanGa-Zone dUploadInfo@foobar1.de<<<

dNotify | DMansplace [...][/code]

Hoffe, diese Information bringt dir was. :smiley:

LG, DMan

PS: Falls das zuviel Text ist, kann ich es auch auf pastbin hochladen.