Avatar billede flemche Nybegynder
30. november 2010 - 17:55 Der er 3 kommentarer og
1 løsning

PEAR fejl ved afsendelse af mail

Hejsa

Jeg har endelig fået mail funktionen til TDC til at virke ved at bruge PEAR.

Jeg bruger et PHP script som ser sådan ud:

<?php
require_once "Mail.php";

$from = "Flemming Test2 <min_mail@mail.tele.dk>";
$to = "test_konto Recipient <test_konto@hotmail.com>";
$subject = "SMTP test";
$body = "Hi,\n\nHow are you?";

$host = "asmtp.mail.dk";
$username = "min_mail@mail.tele.dk";
$password = "mit_password";

$headers = array ('From' => $from,
  'To' => $to,
  'Subject' => $subject);
$smtp = Mail::factory('smtp',
  array ('host' => $host,
    'auth' => true,
    'username' => $username,
    'password' => $password));

$mail = $smtp->send($to, $headers, $body);

if (PEAR::isError($mail)) {
  echo("<p>" . $mail->getMessage() . "</p>");
  } else {
  echo("<p>Message successfully sent!</p>");
  }
?>

Og det virker..... MEN jeg får også følgende fejl.

Strict Standards: Non-static method Mail::factory() should not be called statically in C:\Lemche Webdesign\www\php\Mailer2.php on line 20

Strict Standards: Non-static method PEAR::isError() should not be called statically, assuming $this from incompatible context in C:\Program Files\PHP\PEAR\pear\Mail\smtp.php on line 365

Strict Standards: Non-static method Mail_RFC822::parseAddressList() should not be called statically, assuming $this from incompatible context in C:\Program Files\PHP\PEAR\pear\Mail.php on line 253

Strict Standards: Non-static method PEAR::isError() should not be called statically in C:\Lemche Webdesign\www\php\Mailer2.php on line 24

Message successfully sent!

Hvad er der galt og hvorfor kommer de???

/Lemche
Avatar billede miqe Nybegynder
30. november 2010 - 19:47 #1
Ser ud til at dit problem ligger i den lidt tungere ende:
http://pear.php.net/bugs/bug.php?id=9950

Du kan evt. prøve at følge nogle af de råd de er i kommentarerne her:
http://stackoverflow.com/questions/4044996/php-pear-mail-help

// Miqe
Avatar billede TheTwist Nybegynder
30. november 2010 - 19:56 #2
Jeg ved ikke hvad der er galt.
men for at undgå at man ser fejlene, så kunne du jo lave en header til et anden side hvor den siger at beskeden er sent.

Det vil sige at på linje 27, skriver du
header(location:URLHER);

if (PEAR::isError($mail)) {
  echo("<p>" . $mail->getMessage() . "</p>");
  } else {
  header(location:mail3.php);
  }
?>
Avatar billede flemche Nybegynder
30. november 2010 - 20:07 #3
Er fejlene i linie 20 & 24 også en del af den generelle fejl eller er det mit script ??

/Lemche
Avatar billede TheTwist Nybegynder
16. december 2010 - 17:08 #4
Svar
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