Jag får inte rätt på det här :)
Jag vill hämta alla email adresser från min databas och skicka mail till alla samtidigt, men jag får inte rätt på det. Jag får inget felmeddelande någon stans, men det kommer inga mail
Någon snäll som vill hjälpa mig och se vad jag gjort för galet
<?
$hamta = "SELECT * FROM adresser WHERE email";
$resultat = mysql_query($hamta) or die("Det gick inte att hämta information från databasen!");
while($rad = mysql_fetch_array($resultat))
$today = date("d M, Y");
$to = "$_POST[email]";
$from = "Mig";
$subject = "email till alla";
$forminfo =
"Informationssidan är uppdaterad:\n
$_POST[namn]\n
http://sida.se/medlem/\n
Mailet går inte att svara på.
Skickat den: $today\n\n";
$formsend = mail("$to", "$subject", "$forminfo", "From: $from\r\nReply-to:$from");
?>
Sen har du några variabler som heter $subject, $message, $headers? Headers verkar vara "optional" alltså att den inte behövs om du inte vill. Du kan dock använda den för att skriva vem som skickat, cc, bcc osv... De andra två kanske i allafall måste vara definierade?
Lägg till:
$subject="ett ämne";
$message="ett meddelande";
innan mail kommandot.
Sen så kan mejlet hamna i skräpposten så du kan ju kolla där? En annan sak du bör kolla är ju att du har skrivit in rätt emailadress i databasen ;)
Första frågan:
Var kör du scriptet? På din egna dator eller ett webbhotell?
Om det är på din egna dator, har du konfigurerat PHP för att kunna skicka mail? D.v.s ställt in smtp mm.
@ noshornin: Det blev "skickades inte"
Hahaha jodå, jag har skrivet rätt mailadress, det har jag kollat 788 gånger :)
Men det lustiga är att det skrivs ut när jag skriver echo($rad["email"]);
@ Pedda: Jag kör det på ett webbhotell, så det hoppas jag att jag slipper :)
Börja misstänka väldigt skarpt att jag har gjort något helt konstigt i koden
För hur jag än gör så står det "skickades inte"
Nu la du if mail grejen utanför loopen. Alltså mail() funktionen är en boolean funktion. När den körs så returneras true eller false.
En annan sak jag såg nu var att du skriver $rad['datum']. Med ' istället för ". Vet inte om det spelar någon roll men du kan ju prova koden ovanför och se...
Alltså, egentligen så är det ju endast mailadressen jag behöver, så jag förstår faktiskt inte själv varför JAG hämtar all information :)
Borde det inte räcka med att jag skriver
<?
require 'conn.php';
$sql = mysql_query("SELECT * FROM adresser ORDER BY namn ASC LIMIT 50");
while ($rad = mysql_fetch_array($sql))
{
$email = $rad["email"];
$subject="ett ämne";
$message="ett meddelande";
if(mail($email, $subject, $message)){
echo "skickades";
}else{
echo "skickades inte";
}
}
?>
Fast, det hjälpte inte ändå
Ja....jag antar att du märker att jag inte är så duktig på detta :)
Nice att det löste sig. Du kan ju göra som du vill. Jag skulle behåll if-satsen och utskriften för att se om det blir något fel i framtiden.
Du kan även markera det inlägget som hjälpte dig att lösa problemet som lösning i den här tråden. För om det var mitt inlägg så får jag ett extra poäng på forumet ;)
Det där kan omöjligt vara fel om epostadressen skrivs ut. Tror nog det kan vara ditt webbhotell. Vilket webbhotell har du? Försök mejla dem och fråga...