Avatar billede ravsted-dk Nybegynder
13. marts 2005 - 21:29 Der er 30 kommentarer og
1 løsning

maillist som kan hente email adressen fra PHPBB forum

Er der nogen som kan lave en maillist til mig, som kan hente email adressen fra PHPBB forummet.
Avatar billede jakobdo Ekspert
13. marts 2005 - 21:38 #1
Du må have en tabel, som indeholder alle info om dine brugere.
Så kunne du jo evt blot lave:

$query = mysql_query("SELECT email FROM phpBBUserTable");
Avatar billede detox Nybegynder
13. marts 2005 - 21:43 #2
Fx:

$res = mysql_query("SELECT user_email FROM phpbb_users");
while ($row = mysql_fetch_assoc($res)) {
  @mail($row['user_email'], $emne, $besked, $headers);
}
Avatar billede ravsted-dk Nybegynder
13. marts 2005 - 21:45 #3
Er der ikke en af jer der kunne sætte det sammen til mig
Avatar billede detox Nybegynder
13. marts 2005 - 21:49 #4
Jamen der er sådan set ikke mere i det. Du skal bare fylde noget i variablerne: $emne, $besked og evt. $headers. Skal det bare være en tekst email behøver du sandsynligvis ikke nogen header, hvis det skal være html skal der en header til.
Avatar billede ravsted-dk Nybegynder
13. marts 2005 - 21:50 #5
Det skal være HTML email der skal sendes, og jeg er helt nye til PHP, derfor har jeg sat 200 point af til den som kunne lave det for mig.
Avatar billede jakobdo Ekspert
13. marts 2005 - 21:51 #6
Hvad vil du have?
Altså detox eksempel er jo faktisk lige til.

<?
//mailingList.php

include("connect.php");

$emne = "Dette er EMNET";
$besked = "Dette er BESKEDEN";

$headers = "From: webmaster@{$_SERVER['SERVER_NAME']}\r\n" .
          "Reply-To: webmaster@{$_SERVER['SERVER_NAME']}\r\n" .
          "X-Mailer: PHP/" . phpversion());

$res = mysql_query("SELECT user_email FROM phpbb_users");
while ($row = mysql_fetch_assoc($res))
{
  @mail($row['user_email'], $emne, $besked, $headers);
}

?>

Og så kalder du scriptet, og emails vil strømme ud...
Avatar billede detox Nybegynder
13. marts 2005 - 21:53 #7
Her er et eksempel med html:

<?php
$from = 'din@email-adresse.dk'; //RET DENNE
$emne = "HTML";
$besked = <<<EOL
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>Titel</title>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1" />
<style type="text/css">
#kalender{border:10px groove #6699FF;border-collapse:collapse;}
#kalender td{border:1px solid #CCFFFF; padding: 5px;}
</style>
</head>
<body>
<table id="kalender">
<tr><td>Hej hej</td><td>12345</td></tr>
<tr><td>Hej hej</td><td>12345</td></tr>
</table>
</body>
</html>
EOL;
$header = "mime-type: 1.0\n";
$header .= "Content-type: text/html; charset=iso-8859-1\n";
$header .= "From: $from\n";
$header .= "Return-Path: $from\n";

$res = mysql_query("SELECT user_email FROM phpbb_users");
while ($row = mysql_fetch_assoc($res)) {
  @mail($row['user_email'], $emne, $besked, $header);
}
echo "Mails er afsendt";
?>
Avatar billede detox Nybegynder
13. marts 2005 - 21:55 #8
Du behøver selvfølgelig ikke have selve html delen i scriptet. Du kan osse bare have det i en fil som du så indlæser i $besked variablen med:

$besked = file_get_contents('din_html_fil.html');
Avatar billede detox Nybegynder
13. marts 2005 - 21:58 #9
Og så skal du selvfølgelig lige connecte til din db inden forespørgslen :)
Avatar billede ravsted-dk Nybegynder
13. marts 2005 - 22:01 #10
hvordan connecter jeg til selve databasen
Avatar billede detox Nybegynder
13. marts 2005 - 22:04 #11
Nu da jeg har hjulpet dig tidligere mindes jeg at du har en fil kaldet: 'db.php' som gør det for dig. I så fald laver du bare en: require 'db.php'; øverst.
Avatar billede ravsted-dk Nybegynder
13. marts 2005 - 22:05 #12
ok
Avatar billede detox Nybegynder
13. marts 2005 - 22:08 #13
Her er et eksempel hvor du kan sende en færdiglavet html fil:

<?php
require 'db.php'; //Forbindelse til database
$from = 'din@email-adresse.dk'; //RET DENNE
$emne = "emne"; //OG DENNE
$besked = file_get_contents('html_mail.html'); //RET FILNAVN
$header = "mime-type: 1.0\n";
$header .= "Content-type: text/html; charset=iso-8859-1\n";
$header .= "From: $from\n";
$header .= "Return-Path: $from\n";

$res = mysql_query("SELECT user_email FROM phpbb_users");
while ($row = mysql_fetch_assoc($res)) {
  @mail($row['user_email'], $emne, $besked, $header);
}
echo "Mails er afsendt";
?>
Avatar billede ravsted-dk Nybegynder
13. marts 2005 - 22:09 #14
kunne du ikke samle det hele i en fil til mig, da den melde fejl, på det jeg gør
Avatar billede detox Nybegynder
13. marts 2005 - 22:11 #15
Du skal huske at have 'db.php' i samme mappe som scriptet (eller i din include_path) og så selvfølgelig html filen.
Avatar billede ravsted-dk Nybegynder
13. marts 2005 - 22:12 #16
så står der bare dette

Warning: file_get_contents(html_mail.html): failed to open stream: No such file or directory in /var/www/mail/index.php on line 5
Mails er afsendt
Avatar billede detox Nybegynder
13. marts 2005 - 22:14 #17
Som sagt, du skal have en html fil liggende og den skal have det rette navn ift:

$besked = file_get_contents('html_mail.html'); //RET FILNAVN
Avatar billede ravsted-dk Nybegynder
13. marts 2005 - 22:15 #18
hvad skal der være i den fil
Avatar billede detox Nybegynder
13. marts 2005 - 22:16 #19
Den html meddelelse du vil sende ud.
Avatar billede ravsted-dk Nybegynder
13. marts 2005 - 22:17 #20
ok
Avatar billede detox Nybegynder
13. marts 2005 - 22:21 #21
Fx:

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<head>
<title>Titel</title>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1" />
<style type="text/css">
h1 {
    color: blue;
    text-align: center;
}
p {
    color: #660099;
    margin: 20px;
}
</style>
</head>
<body>
<h1>Overskrift</h1>
<p>Her er det sidste nye</p>
<p>Og et par fakts om ditten og datten.<br />
og lidt af hvert......</p>
</body>
</html>
Avatar billede detox Nybegynder
13. marts 2005 - 22:23 #22
You know :)
Avatar billede ravsted-dk Nybegynder
13. marts 2005 - 22:39 #23
Kan jeg gøre så den bruger min egen mailserver
Avatar billede ravsted-dk Nybegynder
13. marts 2005 - 22:42 #24
mailserveren køre på en anden computer
Avatar billede detox Nybegynder
13. marts 2005 - 22:44 #25
Jeg vil mene du kan sætte det i 'php.ini' under:

[mail function]
; For Win32 only.
SMTP =
smtp_port = 25

; For Win32 only.
sendmail_from = din@mailadresse.dk

; For Unix only.  You may supply arguments as well (default: "sendmail -t -i").
;sendmail_path =

måske:

SMTP = localhost
Avatar billede detox Nybegynder
13. marts 2005 - 22:45 #26
Ja, så må det jo være host/server navn på den anden computer.
Avatar billede ravsted-dk Nybegynder
13. marts 2005 - 22:49 #27
Det køre på Linux
Avatar billede detox Nybegynder
13. marts 2005 - 22:51 #28
Ja, så er det jo:

sendmail_path =

du skal sætte. Jeg er ikke helt sikker på hvad du skal skrive for at bruge mailserveren på den anden computer.
Avatar billede ravsted-dk Nybegynder
13. marts 2005 - 22:55 #29
Jeg har min linux ekspert på sagen.
Avatar billede ravsted-dk Nybegynder
13. marts 2005 - 22:55 #30
Men kommer du lige med et svar.
Avatar billede detox Nybegynder
13. marts 2005 - 22:56 #31
Værsgo'
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