Niin sellaista kyselisin että tietääkös joku miten saisin lähetettyä vaikkapa lomakkeella netistä sähköpostia @hotmail.com ja @msn.com osoitteisiin niin, ettei se mene roskapostikansioon! Nimittäin jos käytän php ja mail() niin menee sinne roskapostiin..
Jollakin muullakin ollut joskus samanlaisia ongelmia:
https://www.ohjelmointiputka.net/keskustelu/6479-turha-http
Veikkaisin, että homma on enemmänkin kiinni siitä lähetetystä viestistä eikä tuosta käytetystä funktiosta. Mikäli viestin sisällön pitäisi olla ok, kannattaa tarkistaa viestin headerien tila sekä esimerkiksi lähettäjän osoite yms.
Mikä tässä koodissa on pielessä, kun menee roskapostiin:
<?php $headers = "From: $_POST[nimi] $_POST[osoite]\n"; $headers .= "MIME-Version: 1.0\n"; $headers .= "Content-type: text/html; charset=iso-8859-1\n"; $headers .= "Reply-To: $_POST[nimi] $_POST[osoite]\n"; $headers .= "X-Priority: 3\n"; $headers .= "X-MSmail-Priority: High\n"; mail($_POST[kenelle],"$_POST[aihe]","$_POST[viesti]",$headers); echo("Posti lähti osoitteeseen $_POST[kenelle]"); ?>
Selitykset:
$_POST[nimi] = Lähettäjän nimi $_POST[osoite] = Lähettäjän osoite $_POST[kenelle] = Vastaanottajan osoite $_POST[aihe] = Viestin aihe $_POST[viesti] = Itse viesti
Otin sen tosta toisesta aiheesta ja vähän muokkasin :P
Veikkaisin, että noissa headereissä kohdissa From ja Reply-to kuuluisi olla vain sähköpostiosoitteet eikä yhtään mitään muuta.
Edit: ajv:n mainitseman linkin takana ovat muuten tälläisessa muodossa:
$headers = "From: $Sender_name <email@email.com>\n";
Ehkä ensimmäinen veikkaukseni meni vikaan. kokeile lisätä nuo <> merkit.
Eikös se aja saman asian jos laittaa suoraan formissa omaan osoitteeseen <>
Aihe on jo aika vanha, joten et voi enää vastata siihen.