SQL Statement als email versenden
Hallo Gemeinschaft,
habe folgendes Problem - möchte den Inhalt eines Statements in eine Email bekommen - könnt ihr mir dabei bitte helfen
habe folgendes Problem - möchte den Inhalt eines Statements in eine Email bekommen - könnt ihr mir dabei bitte helfen
foreach (($sqlop) as $row) {
echo $row['orders_id']." ".$row['products_id']."<br />";
echo "E-Mail: ".$row['products_name']."<br /><br />";
}
$empfaenger = "$usermai";
$betreff = "Bestaetigung";
$from = "From: Vorname Nachname <mir@web.de>";
$text = "Lieben Dank".... und hier soll dann der Inhalt von der foreach schleife rein;
mail($empfaenger, $betreff, $text, $from);
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Kommentar vom Moderator tomolpi am 27.10.2019 um 13:38:34 Uhr
Code-Tags Typ PHP hinzugefügt und Code formatiert
Content-ID: 508951
Url: https://administrator.de/contentid/508951
Ausgedruckt am: 22.11.2024 um 04:11 Uhr
21 Kommentare
Neuester Kommentar
Beispiel Nr. 5 lesen!
Beispiel #5 Verschicken einer HTML-E-Mail.
Beispiel #5 Verschicken einer HTML-E-Mail.
Du hast den Text nicht gelesen, vor allem den Abschnitt mit den Headern, dann wüsstest du warum das so ist...
ich hab´s gelesen - weiss aber nicht was ich da nun anders machen soll
Offensichtlich nicht da du meinen Hinweis zu den Headern auch einfach überliest/ignorierst.Siehe Abschnitt
// für HTML-E-Mails muss der 'Content-type'-Header gesetzt werden
Und das alles fehlt bei dir !!!!!Also wie dumm kann man sich eigentlich noch stellen?? Koppschütel ...
Zitat von @jensgebken:
... wo ist denn der Unterschied zu dem Beispiel und meinem zusammengesetzten Datensatz
$deinMailtext .= $mod."\r\n";
ich könnte doch bei den Variablen, die aus der DB kommen die gleichen Begriffe nehmen, so dass $deinMailtext genauso aussieht, wie in dem Beispiel - ich verstehe dann nicht den Unterschied - dort wird auch kein content type header verwendet
Doch, du brauchst eine Brille!... wo ist denn der Unterschied zu dem Beispiel und meinem zusammengesetzten Datensatz
$deinMailtext .= $mod."\r\n";
ich könnte doch bei den Variablen, die aus der DB kommen die gleichen Begriffe nehmen, so dass $deinMailtext genauso aussieht, wie in dem Beispiel - ich verstehe dann nicht den Unterschied - dort wird auch kein content type header verwendet
Beispiel #NR 5
https://www.php.net/manual/de/function.mail.php<?php
// mehrere Empfänger
$empfaenger = 'max@example.com, moritz@example.com'; // beachte das Komma
// Betreff
$betreff = 'Geburtstags-Erinnerungen für August';
// Nachricht
$nachricht = '
<html>
<head>
<title>Geburtstags-Erinnerungen für August</title>
</head>
<body>
<p>Hier sind die Geburtstage im August:</p>
<table>
<tr>
<th>Person</th><th>Tag</th><th>Monat</th><th>Jahr</th>
</tr>
<tr>
<td>Max</td><td>3.</td><td>August</td><td>1970</td>
</tr>
<tr>
<td>Moritz</td><td>17.</td><td>August</td><td>1973</td>
</tr>
</table>
</body>
</html>
';
// für HTML-E-Mails muss der 'Content-type'-Header gesetzt werden
$header = 'MIME-Version: 1.0';
$header = 'Content-type: text/html; charset=iso-8859-1';
// zusätzliche Header
$header = 'To: Simone <simone@example.com>, Andreas <andreas@example.com>';
$header = 'From: Geburtstags-Erinnerungen <geburtstag@example.com>';
$header = 'Cc: geburtstagsarchiv@example.com';
$header = 'Bcc: geburtstagscheck@example.com';
// verschicke die E-Mail
mail($empfaenger, $betreff, $nachricht, implode("\r\n", $header));
?>
Erstens <br /> Tags funktionieren nun mal nur in HTML Mails die du ja nun mal nicht erstellst weil du keinen Header definierst siehe dein Kommentar wo die Tags übrigens auch noch falsch sind (Slash an der falschen Stelle)
Du hast also von Tuten und Blasen keine Ahnung,
und lässt dir nicht die Bohne sagen, sorry.
Wenn du unsere Anmerkungen einfach immer wieder ignorierst gehörst du meines Erachtens in die Anstalt mit den weissen Kitteln, sorry aber das ist jetzt wirklicher Kindergarten.
Das bringt bei dem jung offensichtlich nix mehr wenn man seine vorherigen Posts mal so liest wird einem echt schlecht 🤮🤮🤮.
Ich bin raus.
p.s. Lesen bildet!
5</br>0</br>0</br>0</br>0</br>1</br>
Zweitens Funktioniert dein Code nicht weil du Escape-Sequenzen innerhalb von Hochkommas verwendest wo sie nicht wirken, diese wirken nur innerhalb von normalen Anführungszeichen. Zeilenumbrüche wirken nur innerhalb von Plaintextmails und nicht in HTML-Mails.Du hast also von Tuten und Blasen keine Ahnung,
und lässt dir nicht die Bohne sagen, sorry.
nein - ich habe den code vom chicken verwendet
Nein das ist nicht meiner den hast du selbst verbockt.Wenn du unsere Anmerkungen einfach immer wieder ignorierst gehörst du meines Erachtens in die Anstalt mit den weissen Kitteln, sorry aber das ist jetzt wirklicher Kindergarten.
Das bringt bei dem jung offensichtlich nix mehr wenn man seine vorherigen Posts mal so liest wird einem echt schlecht 🤮🤮🤮.
Ich bin raus.
p.s. Lesen bildet!
Eine Frage die sich mir jetzt langsam aufdrängt: Sind das Hausaufgaben oder planst du wirklich sowas für produktiv? Versteh das nicht falsch - nur bei Hausaufgaben wäre es ja nich schlimm wenn man sicherheitsfragen ignoriert, guckt eh idR kein Lehrer drauf. Bei nem prod. Einsatz wäre das was anderes...
Dann brich es doch runter auf den kleinsten gemeinsamen Nenner. Was erhällst du bei:
Wie schaust du dir das Result an? Mit einem E-Mail client? Welchem?
Das ist halt das Problem wenn du ohne Header arbeitest. Wen du dem Empfängerprogramm nicht sagst, was es mit den Daten machen soll, interpretiert es den Inhalt so, wie er möchte.
mfG
$deinMailtext = "Hallo\r\n";
$deinMailtext .= "wie\r\n";
$deinMailtext .= "geht\r\n";
$deinMailtext .= "es\r\n";
$deinMailtext .= "dir?";
$empfaenger = "mail";
$betreff = "Die Mail-Funktion";
$from = "From: Vorname Nachname <test@web.de>";
$text = $deinMailtext;
mail($empfaenger, $betreff, $text , $from);
echo $text;
Wie schaust du dir das Result an? Mit einem E-Mail client? Welchem?
Das ist halt das Problem wenn du ohne Header arbeitest. Wen du dem Empfängerprogramm nicht sagst, was es mit den Daten machen soll, interpretiert es den Inhalt so, wie er möchte.
mfG