Kirjautuminen

Haku

Tehtävät

Keskustelu: Ohjelmointikysymykset: HTML: Sähköpostin lähetys(lähettäjän osoitteen saa valita)

Thugcln [13.02.2006 22:49:25]

#

Miten saan tehtyä ohjelmaani sähköposti senderin ilman, että se tarvitsee esim serveriä(hotmailin serverit mx1.hotmail.com,mx2.hotmail.com,mx3.hotmail.com ja mx4.hotmail.com) tarkoitin siis, että se lähettää tietystä osoitteesta sähköpostin ja lähettäjän-osoite kirjotetaan vaikkapa nyt text1 ja text2 kirjoitetaan vastaan-ottajan email ja text3 viesti. Ja command1 toimii senderinä.

sane [13.02.2006 23:19:38]

#

Jos nyt oikein ymmärsin, niin et mitenkään sillä sähköpostin lähettäminen vaatii aina jonkinlaisen palvelimen.

tkarkkainen [13.02.2006 23:34:19]

#

Jos tarkoitit että ilman ulkopuolista serveriä, niin sitten täytyy itse koodata serveri mukaan. Lähettäjän osoite kirjoitetaan viestin From-headeriin.

FooBat [14.02.2006 01:48:42]

#

Joudut tekemään oman pienen SMTP-serverin, joka lähettää viestejä SMTP-protokollalla eteenpäin. SMTP-protokolla on erittäin yksinkertainen eikä sen tälläisen tekeminen vaadi kummoista koodimäärää. Tämän todistaa mm. se että monissa sähköpostiviruksissa on tälläinen mukana.
http://www.faqs.org/rfcs/rfc821.html

Viestin lähetäminen tapahtuu siis siten, että pyydät ensin kohdeosoitteen sähköpostipalvelimen DNS-palvelimilta (MX-tietue), ja sitten lähetät viestin SMTP-protokollalla sille palvelimelle.

Pelkkä from-käntän väärentäminen ei kuitenkaan täysin piilota lähettäjää. Viestin vastaanottava palvelin nimittäin yleensä tallentaa viesti lisäotsakkeisiin polun, jota pitkin viesti on saapunut palvelimelle, jolloin väärentäjän IP-osoite tai domain-nimi tulee näkyviin. Tämän piilottaminen onnistuu kyllä spammereilta aika helposti, mutta tämä jätetään harjoitustehtäväksi.

feenix [14.02.2006 15:43:40]

#

FooBat kirjoitti:

Joudut tekemään oman pienen SMTP-serverin, joka lähettää viestejä SMTP-protokollalla eteenpäin.

Eli SMTP-asiakasohjelman, ei serveriä.

Käytännössä pitää ensin etsiä tuon vastaanottajan isäntänimen MX-tietue, sen jälkeen selvittää sen IP. Jos MX-tietuetta ei ole, selvitetään vain isäntänimen IP ja yritetään sinne. Sen jälkeen onkin helppoa:

HELO <omaosoite>
MAIL FROM: <lähettäjäosoite>
RCPT TO: <vastaanottajaosoite>
DATA
<tähänviesti>
.
QUIT

Jos viestissä on piste omalla rivillään, se pitää käsitellä sitten erikseen. Ja viestissä pitää olla sopivat otsaketiedot. Mainittu RFC kertoo mitä kaikkea tarvitaan ja sähköpostiohjelmista voi katsoa itse mitä kaikkea ne sinne esimerkiksi laittavat.

Vastaus

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

Tietoa sivustosta