Kirjautuminen

Haku

Tehtävät

Keskustelu: Nettisivujen teko: PHP: mail

Sivun loppuun

dartvaneri [15.09.2012 19:32:26]

#

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);
?>

jaketsu [15.09.2012 20:22:09]

#

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.

dartvaneri [15.09.2012 20:38:17]

#

En tiedäkkään, mutta sen tiedän, jotta ei ne viestit ole tullut perille. Ei myöskään roskapostina.

Metabolix [15.09.2012 22:33:05]

#

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.

dartvaneri [16.09.2012 10:07:17]

#

Truen se palauttaa. Tuolta php:n asetuksista mun pitää vielä käydä katsomassa, mutta ei niitä kyllä ole estetty.

The Alchemist [16.09.2012 10:58:18]

#

Mail()-funktio on sellainen kasa paskaa, että unohtaisin sen käytön ja koodaisin oman toteutuksen. Imap-protokollalle esimerkiksi löytyy valmiit funktiot.

dartvaneri [16.09.2012 15:20:39]

#

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?

qeijo [16.09.2012 16:24:44]

#

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

The Alchemist [16.09.2012 16:54:19]

#

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ä.

dartvaneri [16.09.2012 17:47:08]

#

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ä?

mietinvaan [16.09.2012 20:06:44]

#

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/Simple_Mail_Transfer_Protocol­#SMTP_transport_example

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.

groovyb [16.09.2012 22:46:00]

#

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ä.


Sivun alkuun

Vastaus

Aihe on jo aika vanha, joten et voi enää vastata siihen.

Tietoa sivustosta