Autor Zpráva
Josef Přerovský
Profil
Zdravím!

Existuje nějaký script v PHP, aby oddelal všem členům stránky e-mail?

Mám v tabulce users sloupec email, a ještě povolitodesilani

Takže když bude u daného uživatele povolitodesilani 1 tak aby to poslalo mail všem co mají to povolené.
Keeehi
Profil
Tak na odeslání emailu máš funkci třeba Nejčastější potíže s PHP (FAQ) » Kódování e-mailu, aneb abychom neposílali otazníky.
No a zbytek je jen klasická práce s databází. Select z tabulky s podmínkou where a pak prosté projít výsledků cyklem.
Josef Přerovský
Profil
1<?php
2require_once "../include/DB_01.php";
3 
4$maily = mysql_query("SELECT email FROM users");
5$mailyx = mysql_fetch_array($maily);
6 
7$to = "$mailyx";
8$subject = "Nadpis";
9$from = "noreply@majnlist.eu";
10 
11// To send HTML mail, the Content-type header must be set
12$headers  = 'MIME-Version: 1.0' . "\r\n";
13$headers .= 'Content-type: text/html; charset=iso-8859-1' . "\r\n";
14 
15// Create email headers
16$headers .= 'From: '.$from."\r\n".
17    'Reply-To: '.$from."\r\n" .
18    'X-Mailer: PHP/' . phpversion();
19 
20// Compose a simple HTML email message
21$message = '<html><body>';
22$message .= '<h1 style="color:#f40;">Hi Jane!</h1>';
23$message .= '<p style="color:#080;font-size:18px;">Will you marry me?</p>';
24$message .= '</body></html>';
25 
26// Sending email
27if(mail($to, $subject, $message, $headers)){
28    echo 'Your mail has been sent successfully.';
29} else {
30    echo 'Unable to send email. Please try again.';
31}
32?>
<?php
require_once "../include/DB_01.php";
 
$maily mysql_query("SELECT email FROM users");
$mailyx mysql_fetch_array($maily);
 
$to "$mailyx";
$subject "Nadpis";
$from "noreply@majnlist.eu";
 
// To send HTML mail, the Content-type header must be set
$headers  'MIME-Version: 1.0' . "\r\n";
$headers .= 'Content-type: text/html; charset=iso-8859-1' . "\r\n";
 
// Create email headers
$headers .= 'From: '.$from."\r\n".
    'Reply-To: '.$from."\r\n" .
    'X-Mailer: PHP/' . phpversion();
 
// Compose a simple HTML email message
$message '<html><body>';
$message .= '<h1 style="color:#f40;">Hi Jane!</h1>';
$message .= '<p style="color:#080;font-size:18px;">Will you marry me?</p>';
$message .= '</body></html>';
 
// Sending email
if(mail($to$subject$message$headers)){
    echo 'Your mail has been sent successfully.';else {
    echo 'Unable to send email. Please try again.';
}
?>

Mám tento script, a nevím co na tom nejde, typuji že tam nejsou za maily čárky.. poradí někdo co s tím? :)
Keeehi
Profil
Funkce mysql_fetch_array vrací jen jeden řádek (v tomto případě jako pole s jedním prvkem). Pokud chceš všechny výsledky, musíš ji zavolat vícekrát.
Co se týče nějaké úrovně slušnosti a zároveň ochrany osobních údajů, tak není dobré všechny příjemce uvádět do jednoho pole. Buď je dáš všechny do skryté kopie a nebo lépe, každému pošleš samostatný email. Přibližně nějak takto
1<?php
2require_once "../include/DB_01.php";
3 
4$maily = mysql_query("SELECT email FROM users");
5 
6while ($row = mysql_fetch_assoc($maily)) {
7    $to = $row["email"];
8    $subject = "Nadpis";
9    $from = "noreply@majnlist.eu";
10 
11    // To send HTML mail, the Content-type header must be set
12    $headers  = 'MIME-Version: 1.0' . "\r\n";
13    $headers .= 'Content-type: text/html; charset=iso-8859-1' . "\r\n";
14 
15    // Create email headers
16    $headers .= 'From: '.$from."\r\n".
17    'Reply-To: '.$from."\r\n" .
18    'X-Mailer: PHP/' . phpversion();
19 
20    // Compose a simple HTML email message
21    $message = '<html><body>';
22    $message .= '<h1 style="color:#f40;">Hi Jane!</h1>';
23    $message .= '<p style="color:#080;font-size:18px;">Will you marry me?</p>';
24    $message .= '</body></html>';
25 
26    // Sending email
27    if(mail($to, $subject, $message, $headers)){
28        echo 'Your mail to '.$to.' has been sent successfully.<br>\n';
29    } else {
30        echo 'Unable to send email to '.$to.'. Please try again.<br>\n';
31    }
32}
33?>
<?php
require_once "../include/DB_01.php";
 
$maily mysql_query("SELECT email FROM users");
 
while ($row mysql_fetch_assoc($maily)) {
    $to $row["email"];
    $subject "Nadpis";
    $from "noreply@majnlist.eu";
 
    // To send HTML mail, the Content-type header must be set
    $headers  'MIME-Version: 1.0' . "\r\n";
    $headers .= 'Content-type: text/html; charset=iso-8859-1' . "\r\n";
 
    // Create email headers
    $headers .= 'From: '.$from."\r\n".
    'Reply-To: '.$from."\r\n" .
    'X-Mailer: PHP/' . phpversion();
 
    // Compose a simple HTML email message
    $message '<html><body>';
    $message .= '<h1 style="color:#f40;">Hi Jane!</h1>';
    $message .= '<p style="color:#080;font-size:18px;">Will you marry me?</p>';
    $message .= '</body></html>';
 
    // Sending email
    if(mail($to$subject$message$headers)){
        echo 'Your mail to '.$to.' has been sent successfully.<br>\n';
    } else {
        echo 'Unable to send email to '.$to.'. Please try again.<br>\n';
    }
}
?>
Josef Přerovský
Profil
Díky moc :)
Andrej.B
Profil
nezabudnut to neposielat vsetkym, ale len tim, co maju povolene...
$maily = mysql_query("SELECT email FROM users WHERE povolitodesilani = '1'");
$maily mysql_query("SELECT email FROM users WHERE povolitodesilani = '1'");
Josef Přerovský
Profil
Jo jasné dekuji za radu :)
Pravé na to jsem nemyslel
Toto vlákno je staré, již dlouho do něj nikdo nepřispíval.

Informace a odkazy zde uváděné už nemusejí být aktuální. Nechcete-li řešit zde uvedenou konkrétní otázku, založte si vlastní vlákno, nepište do tohoto. Vložíte-li sem nyní příspěvek, upoutáte pozornost mnoha lidí a někteří z nich si jen kvůli vám přečtou i všechny předcházející příspěvky. Předpokládáte-li, že váš text skutečně bude hodnotný, stiskněte následující tlačítko:


Běda vám, jestli to bude blábol.

0