Avatar billede hjelmb Nybegynder
13. april 2004 - 10:12 Der er 5 kommentarer

Sende mails til mail-adr hentet i database?

Hejsa.

Jeg er ved at lave en hjemmeside hvor det skal være muligt at sende et nyhedsbrev til alle medlemmer. Medlemmernes mail-adresser ligger i en database.
Mit spørgsmål er, hvordan får jeg sendt mails til dem alle, jeg har prøvet med en løkke, hvor den sender til en mail-adr af gangen, men det vil simpelhen ikke fungere.

HELP!!!!

- hjelmb
Avatar billede thb Nybegynder
13. april 2004 - 10:28 #1
prøv evt. at kigge her.. http://dk.php.net/mail

Thomas
Avatar billede hjelmb Nybegynder
13. april 2004 - 10:58 #2
Jeg kender godt den hjemmeside og har brugt den, men syntes ikke at jeg kan finde svaret på mit problem.

min kode ser sådan ud:

mysql_connect($sql_host,$sql_user,$sql_passwd)or die (mysql_error());
mysql_select_db($db)or die (mysql_error());
$resultat = mysql_query("SELECT mailadr FROM mail");

if ($action == "OK"){
        $overskrift=strip_tags($overskrift);
        $tekst=strip_tags($tekst);
        while ($resultat) {
        $row = mysql_fetch_array($resultat);
        $mail=strip_tags($row);
        mail($mail, $overskrift, $tekst);
       
        }
               
       
}
Avatar billede lionmedia Nybegynder
13. april 2004 - 14:13 #3
mysql_connect($sql_host,$sql_user,$sql_passwd)or die (mysql_error());
mysql_select_db($db)or die (mysql_error());
$resultat = mysql_query("SELECT mailadr FROM mail");
while ($data = mysql_fetch_array($resultat)){


if ($action == "OK"){
        $overskrift=strip_tags($overskrift);
        $tekst=strip_tags($tekst);
        while ($resultat) {
        $row = mysql_fetch_array($resultat);
        $mail=strip_tags($row);
        mail($mail, $overskrift, $tekst);
       
        }       
    }     
}
Avatar billede lionmedia Nybegynder
13. april 2004 - 14:13 #4
sludder

mysql_connect($sql_host,$sql_user,$sql_passwd)or die (mysql_error());
mysql_select_db($db)or die (mysql_error());
$resultat = mysql_query("SELECT mailadr FROM mail");
while ($data = mysql_fetch_array($resultat)){


if ($action == "OK"){
        $overskrift=strip_tags($overskrift);
        $tekst=strip_tags($tekst);
        while ($resultat) {
        $row = mysql_fetch_array($resultat);
        $mail=strip_tags($row);
        mail($data[mail], $overskrift, $tekst);
       
        }       
    }     
}
Avatar billede s_friis Nybegynder
13. april 2004 - 17:13 #5
prøv evt. denne her: (den er taget fra et indlæg her fra E engang)

class smtp_client {
    var $connection;
    var $server;
    var $elog_fp;
    var $log_file='./smtp_client.log';
    var $do_log=true;


    // default constructor
    function smtp_client($server='mail3.cliche.dk') {    //din udbyders smtp server
        if (!$server) $this->server="localhost";
        else $this->server=$server;
       
        $this->connection = fsockopen($this->server, 25);
        if ($this->connection <= 0) return 0;

        $this->elog(fgets($this->connection, 1024));
        $this->elog("HELO xyz\r\n", 1);
        fputs($this->connection,"HELO xyz\r\n");
        $this->elog(fgets($this->connection, 1024));
        }

    function email($from_mail, $to_mail, $to_name, $header, $subject, $body) {
        if ($this->connection <= 0) return 0;

        $this->elog("MAIL FROM:$from_mail", 1);
        fputs($this->connection,"MAIL FROM:$from_mail\r\n");
        $this->elog(fgets($this->connection, 1024));

        $this->elog("RCPT TO:$to_mail", 1);
        fputs($this->connection, "RCPT TO:$to_mail\r\n");
        $this->elog(fgets($this->connection, 1024));

        $this->elog("DATA", 1);
        fputs($this->connection, "DATA\r\n");
        $this->elog(fgets($this->connection, 1024));

        $this->elog("Subject: $subject", 1);
        $this->elog("To: $to_name", 1);
        fputs($this->connection,"Subject: $subject\r\n");
        fputs($this->connection,"To: $to_name\r\n");

        if ($header) {
            $this->elog($header, 1);
            fputs($this->connection, "$header\r\n");
            }

        $this->elog("", 1);
        $this->elog($body, 1);
        $this->elog(".", 1);
        fputs($this->connection,"\r\n");
        fputs($this->connection,"$body \r\n");
        fputs($this->connection,".\r\n");
        $this->elog(fgets($this->connection, 1024));

        return 1;
        }


    function send() {
        if ($this->connection) {
            fputs($this->connection, "QUIT\r\n");
            fclose($this->connection);
            $this->connection=0;
            }
        }

    function close() { $this->send(); }


    function elog($text, $mode=0) {
        if (!$this->do_log) return;

        // open file
        if (!$this->elog_fp) {
            if (!($this->elog_fp=fopen($this->log_file, 'a'))) return;
            fwrite($this->elog_fp, "\n-------------------------------------------\n");
            fwrite($this->elog_fp, " Sent " . date("Y-m-d H:i:s") . "\n");
            fwrite($this->elog_fp, "-------------------------------------------\n");
            }

        // write to log
        if (!$mode) fwrite($this->elog_fp, "    $text\n");
        else fwrite($this->elog_fp, "$text\n");
        }
    }

//åben forbindelse til database her

$res = mysql_query("select to_mail, to_name from Mailliste") or die (mysql_error());

$from = "soeren@friis-hosting.dk";                      //din egen mail :-)
$header = "Content-type: text/plain; charset=ISO-8859-1";
$subject = "Nyt indlæg i TrænerForum";                  //skriv selv noget her
$body = "$navn har skrevet dette indlæg i trænerforum:  //din overskrift her
\n-----------------------------------------------------\n\n$besked";//din tekst her

$smtp = new smtp_client;
$smtp -> smtp_client();

while (list($to_mail, $to_name) = mysql_fetch_row($res)) {
  $smtp->email("$from", "$to_mail", "$to_name", "$header", "$subject", "$body");
  }

$smtp->send();
//luk din forbindelse her

?>

Jeg bruger selv ovenstående med succes
hilsen sf
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester