Avatar billede googolplex Novice
17. september 2003 - 22:10 Der er 10 kommentarer og
1 løsning

Sende mails med smtp-client()

Fik et link til en klasse der kan sende mails direkte via smtp:

http://www.zend.com/codex.php?id=347&single=1

Men jeg kan ikke få det til at virke, den melder ingen fejl, men sender ikke noget :(

Jeg har prøvet at sende 10 identiske mails med følgende:

<?php
require_once($_SERVER['DOCUMENT_ROOT'] . '/funktioner/funktionsbibliotek_generelt.php');
require_once($_SERVER['DOCUMENT_ROOT'] . '/funktioner/klasser_generelt.php');

$smtp = new smtp_client();

$from = 'Mig';
$to = 'test@test.dk';
$to_name = '';
$header = '';
$subject = 'Test';
$body = 'Testing123';

for ($i = 0; $i < 10; $i++) {
    $smtp->email($from, $to, $to_name, $header, $subject, $body);
}

$smtp->send();
?>

Hvad gør jeg forkert ?
Avatar billede tipsen Nybegynder
17. september 2003 - 22:12 #1
$from skal være en emailadresse. Kig evt. i logfilen som klassen genererer ved brug.
Avatar billede googolplex Novice
17. september 2003 - 22:15 #2
Hvilken logfil ?

Det virker stadig ikke :(

Kan du give mig et eksempel, du VED der virker ?
Avatar billede tipsen Nybegynder
17. september 2003 - 22:36 #3
Nej, jeg har aldrig brugt klassen.
Avatar billede googolplex Novice
17. september 2003 - 22:41 #4
Hvilken logfil er det du taler om ?
Avatar billede tipsen Nybegynder
17. september 2003 - 22:48 #5
Hvis du kigger i koden, kan du se at status-meddelelser fra smtp-serveren skrives til en logfil.
Avatar billede googolplex Novice
18. september 2003 - 19:47 #6
Ok, nu har jeg forsøgt mig med PEAR, men det kan jeg heller ikke få til at virke:

<?php
ini_set('include_path', '.:./pear:' . ini_get('include_path'));    /* Enables includes from PEAR library (Linux) */
include('Mail.php');

$recipients = 'jjr@adslhome.dk';

$headers['From']    = 'richard@phpguru.org';
$headers['To']      = 'jjr@adslhome.dk';
$headers['Subject'] = 'Test message';

$body = 'Test message';

// Create the mail object using the Mail::factory method
$mail_object =& Mail::factory('sendmail');

$mail_object->send($recipients, $headers, $body);
?>

Men jeg får følgende fejl:

http://www.ladefoged-roenne.dk/test.php

Har du et simpelt eksempel med PEAR du ved der virker ?
Avatar billede googolplex Novice
19. september 2003 - 18:35 #7
Ok, jeg har fået det til at virke, men jeg kan da overhovedet ikke se at det går hurtigere end mail() !?

Jeg har sendt 500 mails med mail() og 500 med smtp_client og det tog den samme tid...
Avatar billede tipsen Nybegynder
19. september 2003 - 19:03 #8
Hvordan ser din kode ud?
Avatar billede googolplex Novice
19. september 2003 - 19:24 #9
Testede mail() med:

$antal = 500;

for ($i = 1; $i < $antal + 1; $i++) {
    $emne = "Test e-mail #$i";
    mail($til, $emne, $besked);
}

Testede smtp_client med:

$antal = 500;

$smtp = new smtp_client('smtp1.b-one.net');

for ($i = 1; $i < $antal + 1; $i++) {
    $emne = "Test e-mail #$i";
    $smtp->email($fra, $til, $til_navn, $header, $emne, $besked);
}

$smtp->send();
Avatar billede googolplex Novice
23. september 2003 - 13:38 #10
Nå, har fået det til at virke :) Løsningen fandt jeg i et svar du havde lagt et andet sted, så læg et svar hvis du synes du fortjener lidt bonuspoint :P
Avatar billede googolplex Novice
24. september 2003 - 21:20 #11
Det må du selv om :P
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