Gå til innhold

Få maillist script til å fungere. Mail() feil?


Anbefalte innlegg

Videoannonse
Annonse
Når scriptet skal sende fungerer det jo ikke, ingen av de jeg har prøvd fungerer. Men når jeg sender en mail fra outlock med adressa mi fungerer det helt greit :)

5590423[/snapback]

 

Du kan da ikke sammenlikne outlook og et script. Det er ikke hosten det er noe galt med, det er scriptet / serveroppsettet ditt. Jeg postet en kodesnutt tidligere som fungerer om du har satt serveren korrekt opp. Funker t.o.m på hotmail ;)

Lenke til kommentar

Mm. Prøvde meg på den, men fant ingen plaseringer jeg kunne plassere eller forandre på noe lignende i scriptet. Eneste jeh fant er markert i rødt, men kommer meg ikke videre med å plasere ut kodesnutten. :hmm:

 

Din kode:

 

$subject = str_replace("%ticketid%", $ticket_id, $reply_topic);

$message = nl2br(str_replace("%ticketid%", $ticket_id, $reply_body));

$headers = "From: $from_mail\r\n" .

     'X-Mailer: PHP/' . phpversion() . "\r\n" .

     "MIME-Version: 1.0\r\n" .

     "Content-Type: text/html; charset=utf-8\r\n" .

     "Content-Transfer-Encoding: 8bit\r\n\r\n";

 

// Send

mail($email, $subject, $message, $headers);

 

 

 

 

 

<?php

require("functions.php");

 

# No-cache headers:

header("Expires: Mon, 26 Jul 1997 05:00:00 GMT");

header("Last-Modified: " . gmdate("D, d M Y H:i:s") . " GMT");

header("Cache-Control: no-cache, must-revalidate");

header("Pragma: no-cache");

 

sidehoved("", 0);

echo "<center>\n";

 

$kommando = mysql_query("select afsender, emne, ebrev from $mainTable where liste = '".addslashes($liste)."'");

$resultat = mysql_fetch_array($kommando);

$af = stripslashes($resultat[afsender]);

$em = stripslashes($resultat[emne]);

$te = stripslashes($resultat[ebrev]);

 

if ($start < $iAlt) {

if (($slut + 10) > $iAlt) $slut = $iAlt;

else $slut = 10;

 

$kommando = mysql_query("select epostadresse, id from ".addslashes($liste)." where godkendt = '1' limit ".addslashes($start).", $slut");

 

if (($start + 10) > $iAlt) $naeste = $iAlt;

else $naeste = $start + 10;

 

$fra = $start + 1;

 

echo "$s86 $fra $s87 $naeste $s97 $iAlt.\n";

echo "<h3>$s88</h3>\n";

 

while ($resultat = mysql_fetch_array($kommando)) {

$ep = stripslashes($resultat[epostadresse]);

$id = stripslashes($resultat[id]);

$nyte = str_replace("[RCPT_EMAIL]", $ep, $te);

$nyte = str_replace("[sUBSCRIBE_URL]", "http://$HTTP_HOST".dirname($PHP_SELF)."/confirm.php?liste=$liste&abonner=1&epostadresse=".urlencode($ep)."&id=$id", $nyte);

$nyte = str_replace("[uNSUBSCRIBE_URL]", "http://$HTTP_HOST".dirname($PHP_SELF)."/confirm.php?liste=$liste&abonner=0&epostadresse=".urlencode($ep)."&id=$id", $nyte);

 

mail($ep, $em, $nyte, "From: $af\n$ekstraHeadere");

}

 

echo "<script language=\"javascript\">\n";

echo "<!--\n";

echo "window.location.href = \"http://$HTTP_HOST$PHP_SELF?liste=$liste&start=$naeste&iAlt=$iAlt\"\n";

echo "// -->\n";

echo "</script>\n";

}

 

else {

echo "<h3>$s85</h3>\n";

echo "<form action='index.php' method='post'>\n";

echo "<input type='submit' value='$s104'>\n";

echo "</form>\n";

}

 

echo "</center>\n";

sidefod();

?>

 

 

Endret av HoaXed
Lenke til kommentar

For det første så bør du seriøst vurdere å skrive om dette. Unnskyld jeg sier det, men dette er egentlig elendig presentasjon av en kode. Virker lite gjennomtenkt og utrolig vanskelig å tolke.

 

Uansett. Der du har merket rødt må du sette inn headeren jeg presenterte til deg. Frafeltet plasserer du i headeren. Ellers bruker du mine logiske variabler i mail() til å forstå hvor resten skal stå :)

Lenke til kommentar
For det første så bør du seriøst vurdere å skrive om dette. Unnskyld jeg sier det, men dette er egentlig elendig presentasjon av en kode. Virker lite gjennomtenkt og utrolig vanskelig å tolke.

 

Uansett. Der du har merket rødt må du sette inn headeren jeg presenterte til deg. Frafeltet plasserer du i headeren. Ellers bruker du mine logiske variabler i mail() til å forstå hvor resten skal stå :)

5590525[/snapback]

 

Okei, takker for råd og får se hva kvelden kan trylle fram :) Kommer nok tilbake..

Lenke til kommentar

Endelig har jeg funnet ut feilen, desverre ikke løsningen. :)

 

Den siste mnd har serverene gått gjennom en sikkerhets oppdatering, og dette har medført at all mail ut og inn krever autentisering. Noe som forklarer hvorfor jeg fikk mailen men ikke andre :)

 

Men noen som har forslag til hva jeg må gjøre med dette i scriptet? :)

Lenke til kommentar

Da har jeg prøvd littt og komm fram til dette;¨

Har fjernet mail() helt..

function sendEPost($ep, $em, $nyte){

         $mail = new phpmailer();
         $mail->ContentType = "text/plain";

         $mail->IsSMTP(); 
         $mail->Host = "localhost"; 
         $mail->SMTPAuth = true; 
         $mail->Username = "[email protected]";           
         $mail->Password = "-------"; 
         $mail->From     = '$af';  
         $mail->FromName = 'Nyhetsbrev @ H-Base'; 
         $mail->Mailer   = "smtp";

         $mail->Body    = $nyte; 
         $mail->Subject = $em; 
         $mail->AddAddress($ep, $ep);  
         $mail->Send();
      }

 

Men får denne feilmeldingen jeg aldr har hørt om.. :hmm:

 

Fatal error: Cannot redeclare sendepost() (previously declared in /home2/hbase/public_html/nyhetsbrev/postlister/send.php:48) in /home2/hbase/public_html/nyhetsbrev/postlister/send.php on line 48

 

Hva betyr dette? :)

Endret av HoaXed
Lenke til kommentar

Opprett en konto eller logg inn for å kommentere

Du må være et medlem for å kunne skrive en kommentar

Opprett konto

Det er enkelt å melde seg inn for å starte en ny konto!

Start en konto

Logg inn

Har du allerede en konto? Logg inn her.

Logg inn nå
  • Hvem er aktive   0 medlemmer

    • Ingen innloggede medlemmer aktive
×
×
  • Opprett ny...