Avatar billede straszek Praktikant
24. april 2004 - 17:30 Der er 11 kommentarer og
1 løsning

Sende mange mails

Jeg har bruge for at sende mange mail til en mailliste, jeg har indtil nu brugt mail funktionen i php, men den er begyndt at være ret langsom. Jeg har søgt her på experten, og fundet omtalt at man kan sende direkte via smtp ved hjælp af denne klasse
http://www.zend.com/codex.php?id=347&single=1

Det er dog lidt for indviklet til at jeg kan sætte det op selv, er der nogen der kan hjælpe?

Jeg henter de oplysninger der skal sendes fra en mysql db.
Avatar billede dennismp Nybegynder
24. april 2004 - 17:34 #1
noget i denne stil?

require("denklassederduhenvisertil");

$smtp=smtp_client();

$sql = "SELCET email, name FROM users";

$subject = 'Hello world';
$header = '';
$from = 'webmaster@hello.world';
$body = 'Et nyhedsbrev fra os til jer';

$res = mysql_query($sql) or die(mysql_error());
while($row = mysql_fetch_array($res)) {
  $smtp->email($from, $row[0], $row[1], $header, $subject, $body);
}
$smtp->send();
Avatar billede dennismp Nybegynder
24. april 2004 - 17:36 #2
$smtp=smtp_client();
burde egnelig være
$smtp = new smtp_client();
Avatar billede straszek Praktikant
24. april 2004 - 17:41 #3
vil det sige at jeg skal gemme det der er på http://www.zend.com/codex.php?id=347&single=1 i en selvstændig fil, også skrive det i require??
Avatar billede dennismp Nybegynder
24. april 2004 - 17:41 #4
header kunne så sådan ud:
$header =
'From: ' . $from . "\r\n".
'Reply-To: ' . $from . "\r\n".
'X-Mailer: PHP/' . phpversion() . "\r\n".
'X-Mailed-by: ' . $_SERVER['REMOTE_ADDR'];
Avatar billede dennismp Nybegynder
24. april 2004 - 17:41 #5
Jep.
Avatar billede straszek Praktikant
24. april 2004 - 17:59 #6
Det ser umiddelbart ud til at virker nogenlunde, eneste problemer er at få sat min tekst ind i subjet og i selve mailen (body?)

Jeg har gjort sådan:
$subject = '$rowtekst[overskrift]';
$header = '';
$from = 'xx@xx.dk';
$body = '$rowtekst[tekst]';

Men overskriften bliver så bare $rowtekst[overskrift] ikke indeholdet af denne?
Avatar billede dennismp Nybegynder
24. april 2004 - 17:59 #7
$subject = $rowtekst['overskrift'];
$header = '';
$from = 'xx@xx.dk';
$body = $rowtekst['tekst'];
Avatar billede straszek Praktikant
24. april 2004 - 18:15 #8
Nyt problem, når jeg åbener en af de mails som scriptet sender ud i mit mail program, så står der i til feltet det id nummer som personen har i db, og ikke personens mail adresse - mystisk!?
Avatar billede dennismp Nybegynder
24. april 2004 - 18:18 #9
Hvordan ser din sql ud? post evt hele scriptet
Avatar billede straszek Praktikant
24. april 2004 - 18:19 #10
require("smtpmail.php");

$smtp = new smtp_client();

$sql = "select medlem_email, id from medlemmer2 WHERE medlem_email <>'' and medlem_status='aktiv'";

$subject = $rowtekst['overskrift'];
$from = 'xx@xx.dk';
$body = $rowtekst['tekst'];

$res = mysql_query($sql) or die(mysql_error());
while($row = mysql_fetch_array($res)) {
  $smtp->email($from, $row[0], $row[1], $header, $subject, $body);

  $insertSQL = "INSERT INTO medlem_brev2  (medlem_id, korr_type, koor_tekst, dato  ) VALUES ('$id', '2','$koortekst', '$ddd')";
                mysql_query($insertSQL);

}
$smtp->send();
Avatar billede straszek Praktikant
05. maj 2004 - 14:15 #11
lukker, har ikke fået det til at virker, så jeg vil gå tilbage til at bruge den indbyggede mail funktion.
Avatar billede straszek Praktikant
05. maj 2004 - 14:15 #12
Men et smid et svare, så vil jeg godt give ½ point for hjælpen.

Søren
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