#1 před 2 lety

coinage
Člen
Registrovaný: 1. 6. 2009
Příspěvky: 5

email s přílohou pro více uživatelů z databáze

Opět po dlouhé době zdravím.
Mám tu zase jeden problémek, se kterým si nevím rady.
mám databázi uživatelů, kterým chci zasílat e-mail včetně přílohy, ale bohužel ta příloha mi nejde. Soubor se ne a ne připojit.
Vše ostatní funguje jak má a já nevím jak dál, Poradíte někodo? Předem díky za rady.
Zde je kod PHP

<head>
<meta http-equiv="Content-type" content="text/html; charset=windows-1250">
</head>
<?php
if(empty($_GET['id'])):
    echo "<li><a href='admin.php?id=new'>Zaslání novinek registrovaným uživatelům</a></li>";
elseif($_GET['id']=='new'):
?>
<form action="admin.php" method="get">
    <table width="500" border="0" cellpadding="10" cellspacing="0" bgcolor="#8080ff">
    <tr>
        <td><textarea cols="25" rows="10" name="zprava"></textarea>
        <input type="hidden" name="id" value="ok" /></td></tr>
        <tr><td><input type="file" name="file" /></td>
        <td><input type="submit" name="akce" value="Odeslat reg. uživatelům" /></td>
    </tr>
    </table>
</form>
<?php
endif;
if($_GET['id']=='ok' AND (!empty($_GET['zprava']))):
// posíláme zprávu?
    require("config.php");
    // načtení konfigurace databáze
    $zprava=$_GET['zprava'];
    @$vysledek=MySQL_Query("SELECT email FROM seznam WHERE overeno='OK'");
    // výběr emailů z databáze
    if(!$vysledek):
    // ošetření chyby
        echo "V databázi není žádný reg. uživatel";
        exit;
    endif;
    $predmet="Novinky!";
    $hlavicka="From: no-reply@domena.cz\r\n";
    while($zaznam=MySQL_Fetch_Array($vysledek)):
        $bccx[]=$zaznam['email'];
        // načtení emailů do pole
    endwhile;
    $bcc.="Bcc: ".Implode($bccx, ",")."\r\n";
    // oddělení emailů čárkou
    $hlavicka.=$bcc."Mime-Version: 1.0\r\nX-Mailer: TEST\r\nContent-Type: text/html; charset=windows-1250\r\n";
    mail("", "$predmet", "$zprava", "$hlavicka", "$file");
    // poslání emailu
    $users = mysql_fetch_row(mysql_query("SELECT COUNT(id) FROM seznam WHERE overeno='OK'"));
    // kolika lidem se email odeslal
    echo "Posláno: ".$users[0]." uživatelům";
endif;
?>

 

#2 před 2 lety

phx
Moderator
Registrovaný: 17. 4. 2008
Příspěvky: 878

Re: email s přílohou pro více uživatelů z databáze

Koukni se do specifiukace fce mail(). Nic takovehoto nepodporuje!!!

Stahni si nejakou knihovnu, treba Zend_mail nebo neco podobneho. V podstate musis rucne sestavit mail, tak je lepsi pouzit nejakou overenou a otestovanou knihovnu.

 

Zápatí