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
<?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
<?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'");
Josef Přerovský
Profil
Jo jasné dekuji za radu :)
Pravé na to jsem nemyslel

Vaše odpověď

Mohlo by se hodit


Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm:

0