TulorkMedlem sedan aug. 2004903 inlägg har tittat runt lite på olika mailscipt men har inte sett någon än som har smtp koppling. om vi tar detta scriptet som exempel
<?php
$till=$_POST['mottagare'];
$fran=$_POST['avsandare'];
$meddelande=$_POST['meddelande'];
if(strlen($till)>3 && strlen($fran)>3 && strlen($meddelande)>3)
{
//Vad skall hända när formuläret skickats in.
//Som exempel väljer vi att skicka informationen med ett email:
$amne="Email från $fran";
$headers = "MIME-Version: 1.0\r\n";
$headers .= "Content-type: text/html; charset=iso-8859-1\r\n";
$headers .= "From: $fran\r\n";
mail($till, $amne, $meddelande, $headers);
}
else if($_POST['submit']){
if(strlen($till)<4)
$error.='"Mottagare" har ej fyllts i korrekt<br/>';
if(strlen($fran)<4)
$error.='"Avsändare" har ej fyllts i korrekt<br/>';
if(strlen($meddelande)<4)
$error.='"Meddelande" har ej fyllts i korrekt<br/>';
}
$formular='<form method="post">'
.'Mottagare: <input type="text" name="till"><br/>'
.'Avsändare: <input type="text" name="avsandare"><br/>'
.'Meddelande:<br/>'
.'<textarea cols="30" rows="30" name="meddelande">'
.'</textarea><br/>'
.'<input type="submit" name="submit" value="Skicka"><br/>'
.'</form>';
echo $error;
echo $formular;
?>
jag kan byta ut $till och $fran mot fasta värden så att dem alltid skickar till min adress från en adress jag vet är min egen. Men hur får jag det att fungera? Nu ska det inte se ut som det gör här utan det är bara inloggade som kommer få skicka mail och väl inloggad hämtar vi ID i sessionen och får utav det ett konto namn, på så sätt vet vi vem som skickat mailet.
Alltså, vi har en smtp server ifrån vårat webhotell, men hur fungerar kopplingen?
emissionMedlem sedan dec. 19996 721 inlägg Utan SMTP, inga mail, så visst används SMTP även med mail(), men den går via serverns inbyggda MTA (mail transfer agent), vanligtvis Sendmail. Om du vill ha mer kontroll måste du använda något alternativt sätt.
http://phpmailer.sourceforge.net/
TulorkMedlem sedan aug. 2004903 inlägg
emission skrev:
Utan SMTP, inga mail, så visst används SMTP även med mail(), men den går via serverns inbyggda MTA (mail transfer agent), vanligtvis Sendmail. Om du vill ha mer kontroll måste du använda något alternativt sätt.
http://phpmailer.sourceforge.net/
jo så mkt har jag förstått. Vi har en egen testserver vi arbetar imot just nu som har BSD som operativsystem. I php.ini har vi aktiverat smtp, men det är ju endast för win32 användare står det. Detta vi arbetar med ska senare flyttas till webhotell där vi förmodligen inte har någon kontroll över php.ini... men antagligen kommer sendmail vara aktiverat. går det inte att sätta smtp servern i vårat script?
TulorkMedlem sedan aug. 2004903 inlägg okej. Vad är mina alternativ då?
emissionMedlem sedan dec. 19996 721 inlägg Ehh.....att läsa de svar som du fått.....
colioneMedlem sedan juni 20014 421 inlägg Du ska ju normalt inte behöva fippla med smtp när du använder mail(). Du skickar ju med webbhotellets förinställda server, sökvägen behöver du ju inte bry dig om eftersom webbhotellet har ställt in den.. Som emission har skrivit.
Vad är det du egentligen är ute efter?
TulorkMedlem sedan aug. 2004903 inlägg jag gillar inte att få arroganta tillbaka hugg. Men jag läste och förstod så vitt jag vet det du skrev emission, men alla kan inte vara experter på detta. Detta är första gången jag bygger ett sånt här script och jag viste inte att webhotell "alltid" har detta förinställt i sina konfigurationsfiler. Vad jag är ute efter är helt enkelt alternativ till olika lösnignar, eller att någon pekar mig i rätt riktning om vad som är bra/dåligt, för i detta forum finns det experter på det mesta och alltid någon med lite erfarenhet.
Nu vet jag att smtp inte nödvändigtvis behöver vara ett problem, att det inte går att sätta egna smtp servrar igenom script, att det finns extern programvara för mer kontroll. Jag har precis byggt ett mailformulär som ska fungera och ska testas snart.
Det Colione skrev gjorde det lite tydligare för mig och lättare att förstå. tack.
(Nu följer kritiken :) )
emissionMedlem sedan dec. 19996 721 inlägg Jag beklagar att du upplevde det som arrogant, men jag tyckte att jag var rätt tydlig med att du måste använda något alternativ till mail() om du vill ha kontroll över SMTP-sändningen, och eftersom du överhuvud taget ställer frågan så antar jag att det är det du vill.
Ett av de alternativ som finns är
http://phpmailer.sourceforge.net/ .
TulorkMedlem sedan aug. 2004903 inlägg lugnt :) tack för svar. Ställde lite frågor till webhotellet och fick svaren
"Det går bra att använda mail() i php däremot är To:, Cc: och Bcc: spärrade ifrån header argumentet till mail().
Om ni däremot av någon anledning skulle behöva ange någon av de headerna till mail() så kan man använda pears mail klass i smtp läge för att skicka mailen"