Rundmal über PHP mit Adressen aus MySQL

Hi,

Was sollen denn die Backslashes und Hochkommata innerhalb des action-Attributes beim form-Tag? Und natürlich muss da ein </form> ans Ende des Formulars. Du musst Dich mal den Grundlagen beschäftigen.
Warum Du das allerdings unbedingt in einem PHP-Block per echo ausgeben willst, ist mir schleierhaft...

Zum Problem: "Geht irgendwie nicht" ist keine Fehlerbeschreibung, mit der irgendjemand etwas anfangen kann. Ausserdem solltest Du mal das posten, was im Browser ankommt (rechte Maustaste -> Quelltext anzeigen).

LG
 
Hi,

es sieht so aus, als würdest du die Variable $mailto maskieren. ( \$mailto )
Dann schreibt er die Email-Addressen nicht! Außerdem wäre es mir neu, das mailto: als action Email verschickt!
 
Ja, dass es dir deinen Mail Client öffnet, weiß ich, aber er scheint damit direkt versenden zu wollen, oder?

Wenn du es per Mail Client willst, dann reicht auch ein Link

HTML:
<a href="mailto:a@bc.de"> Email versenden</a>
 
[Lösung] Rundmal über PHP mit Adressen aus MySQL

Ok,

so klappt es -->

PHP:
<?php
				
error_reporting(E_ALL | E_NOTICE);
ini_set('display_errors','On');

$host = "localhost";
$user = "user";
$password = "passwaord";
$dbname = "dbname";
$tabelle ="tabelle";

$dbverbindung = mysql_connect ($host, $user, $password);

$dbanfrage = "SELECT Email from $tabelle";  
$result = mysql_db_query ($dbname, $dbanfrage, $dbverbindung)or die( mysql_error() ); 
$mailTo = "";  // Addressaten initialisieren 
while ($data = mysql_fetch_assoc($result)) {  // jede Zeile einzeln auswählen 
    $mailTo = $data['Email'].";";   //jede Email einzeln an Adressaten anfügen 
     
     $sender = "xxxxxxxxxxxx";
     $empfaenger = $mailTo;
     $betreff = $_POST['Betreff'];
     $text = $_POST[Text];
	   
	  if(isset($_POST['rundmail'])){ 
  		mail($empfaenger, $betreff, $text,
       		"From: $sender <>");
}
     
} 

?>

Und eben zwei Textfelder -- Betreff und Text - dann klappt das!

Danke für eure Hilfe

Gruß Manuel
 
Ja, so sendest du aber ganz viele Emails! Besser wäre es noch, wenn du das versenden hinter die while()-Schleife setzt, und das

PHP:
$mailTo = $data[Email] .";";

durch

PHP:
$mailTo .= $data[Email].";";

ersetzt!

So schickst du nur eine Email, an viele Leute, anstatt viele Emails, an jeweils eine Person!

Danach sollte es gut sein^^!
 
Ok, der Punkt geht an dich und natürlich muss es schlussendlich (i hope so :-)) so aussehen

PHP:
<?php
				
				
	$betreff = $_POST['Betreff'];
  	$text = $_POST['Text']; 


error_reporting(E_ALL | E_NOTICE);
ini_set('display_errors','On');

$host = "localhost";
$user = "user";
$password = "password";
$dbname = "dbname";
$tabelle ="tabelle";

$dbverbindung = mysql_connect ($host, $user, $password);

$dbanfrage = "SELECT Email from $tabelle";  
$result = mysql_db_query ($dbname, $dbanfrage, $dbverbindung)or die( mysql_error() ); 
$mailTo = "";  // Addressaten initialisieren 

while ($data = mysql_fetch_assoc($result)) {   
    $mailTo .= $data['Email'].";";   
     $sender = "xxxxxxxxxxxxxxxxxxxxxxx";
     $sendermail = "test@test.de";
     $empfaenger = $mailTo;
}
	   
	  if(isset($_POST['rundmail'])){ 
  		mail($empfaenger, $betreff, $text,
       	  "From: $sender <$sendermail>");
     
} 

?>

Die
PHP:
	$betreff = $_POST['Betreff'];
  	$text = $_POST['Text'];
müssen vor dem Button-Klicken schon initiert sein, ansonsten kommt es logischerweise zu nem Fehler, da er die beiden Felder "nicht kennt".

Ansonsten läuft das Ding.

Soweit.........:-)

Gruß Manuel
 
Zuletzt bearbeitet:
Hmmm, Moin nochmal,

zwei kleiner Probleme gäbe es noch - einmal - wie bekomme ich mein $mailTo in bcc? Muss ich hier mit header arbeiten?

Und zweitens - Ich will nen automatischen Zeilenumbruch im Textfeld haben - habe dazu
HTML:
<textarea name="Text" rows="5" cols="60" WRAP="Text, 70"></textarea>

Aber der bricht nicht nach 70 Stellen automatisch um.
What can i do? :(

Gruß Manuel
 
Zurück