Hei!
Mulla on pieni ongelma tuon mail()-funktion kanssa. Se ei vain lähetä viestejä ainakaan Gmailiin. Kokeilin myös heittää tuon headerin, mutta ei auttanut. Tuossa kun en näe yhtään virhettä, että miksi ei lähettäisi. Joku vain menee pieleen.
<?php $email = "erkki.esimerkki@gmail.com"; $message = $_POST['feedback']; $title = $_POST['title']; $headers = 'From: esi@email.com' . "\r\n" . 'Reply-To: merkki@email.com'; mail($email, $title, $message, $headers); ?>
Mistä tiedät, ettei koodisi lähetä viestejä? Gmail on muistaakseni aika herkkä lajittelemaan tietyt viestit roskapostiksi, tuon kanssa oli joskus itselläkin vähän ongelmia.
En tiedäkkään, mutta sen tiedän, jotta ei ne viestit ole tullut perille. Ei myöskään roskapostina.
Katsoisit nyt edes, palauttaako mail-funktio arvon true vai false. Sähköpostia ei voi lähettää, jos PHP:n asetuksissa ei ole sopivaa postipalvelinta tai jos lähetys on muuten vain (tarkoituksella tai vahingossa) estetty.
Truen se palauttaa. Tuolta php:n asetuksista mun pitää vielä käydä katsomassa, mutta ei niitä kyllä ole estetty.
Mail()-funktio on sellainen kasa paskaa, että unohtaisin sen käytön ja koodaisin oman toteutuksen. Imap-protokollalle esimerkiksi löytyy valmiit funktiot.
Hmm... Onnistuneekohan IMAP:lla lähettää viestiä, vai onko se vain viestien hakemista postipalvelimelta varten?
Edit.
Onnistuuko se tällä?
Tarvinkoohan mun mennä pää käyttäjällä serverille sisään, asentaakseni ton imap kirjaston?
The Alchemist kirjoitti:
Mail()-funktio on sellainen kasa paskaa, että unohtaisin sen käytön ja koodaisin oman toteutuksen. Imap-protokollalle esimerkiksi löytyy valmiit funktiot.
imap_mail käyttää viestin lähetykseen samaa "paskaa" eli sendmail/mail funktio.
Ota oikea yhteys oikeaan SMTP - palvelimeen ja lähetä sillä posti.
Just fsockopen it or http://pear.php.net/package/Mail/redirected
Meninpäs taas noiden kahden kanssa sekaisin, tarkoitus oli puhua juurikin smtp:stä. Sen käyttöön ei ole suoraan , viestien kasaaminen käsin on ihan sivistävää puuhaa. Tai sitten kaivaa jonkin valmiin palikan netistä.
The Alchemist kirjoitti:
Meninpäs taas noiden kahden kanssa sekaisin, tarkoitus oli puhua juurikin smtp:stä. Sen käyttöön ei ole suoraan , viestien kasaaminen käsin on ihan sivistävää puuhaa. Tai sitten kaivaa jonkin valmiin palikan netistä.
Kokeilen ainakin, jos onnistuisin kasaamaan itse, taikka tekemään oman "mail"-funktion, ellen onnistu, niin kai se on tyydyttävä johonkin valmiiseen ratkaisuun.
Lisäys: Joudunkos asentamaan serverille jokun postipalvelimen, vai voinko tuosta noin vain käyttää SMTP:tä?
Riittää että avaat yhteyden (TCP) jollekin SMTP-palvelimelle ja keskustelet sen kanssa kyseisen protokollan mukaisesti. Englanninkielisestä Wikipediasta löytyy esimerkki kuinka tämä tapahtuu: http://en.wikipedia.org/wiki/
Täysi protokollakuvaus löytyy esimerkiksi osoitteesta http://www.faqs.org/rfcs/rfc2821.html#b
Koska kyseessä on tekstipohjainen protokolla, voisit vaikka aluksi kokeilla tuota Wikipedian esimerkkiä komentoriviltä jollakin telnet-ohjelmalla.
Käsittääkseni nykyään jotkin sähköpostipalvelimet vaativat aina salattujen yhteyksien käyttämistä. Tällöin homma muuttuu heti monimutkaisemmaksi, joten valmis kirjasto voisi ehkä olla paras vaihtoehto, jos tarkoituksena on vain saada homma hoidettua.
Lataa joku dummy smtp( esim papercut ), jolla voit testata tuleeko viestit edes smtp:n päähän. Ainakin tuohon vain asetetaan että mitä porttia kuuntelee, jonka jälkeen alkaa vastaanottamaan viestejä.
Aihe on jo aika vanha, joten et voi enää vastata siihen.