Eigen SMTP server maken

Pagina: 1
Acties:
  • 690 views sinds 30-01-2008
  • Reageer

Acties:
  • 0 Henk 'm!

  • $tranger
  • Registratie: Januari 2000
  • Laatst online: 17:29
Weet iemand waar ik kan vinden hoe een SMTP server te bouwen, het enige waar ik altijd maar op uit kom is hoe je een SMTP server kan benaderen, maar wat gebeurd er daarna met de data? Ik denk zelf zoiets als een IP lookup naar het adres waar het mailtje heen moet (aan de hand van het domein van het email adres), maar ik kan er echt bar weinig over vinden. Is hier anders een RFC over?

Acties:
  • 0 Henk 'm!

  • SiErRa
  • Registratie: Februari 2000
  • Laatst online: 13:11
http://www.ietf.org/rfc/rfc0821.txt

Google op "smtp rfc" en dan "I feel lucky" :)

Acties:
  • 0 Henk 'm!

  • axis
  • Registratie: Juni 2000
  • Laatst online: 26-01-2023
http://nb.computer-dynami...dex_files/rfc821_smtp.htm

is na wat zoeken ook wel in pdf te vinden lijkt me

Two advices for network troubleshooting.. learn to draw diagrams in Visio, and THINK IN LAYERS!


Acties:
  • 0 Henk 'm!

  • JohanDM
  • Registratie: Augustus 2002
  • Laatst online: 16-07-2021

JohanDM

Optimist

Het SMTP protocol is uitgelegd in RFC 821

"Two things are infinite: the universe and stupidity. And the former I'm not so sure about." -- Albert Einstein


Acties:
  • 0 Henk 'm!

Anoniem: 60742

Een goeie howto is deze: http://www.shupp.org/toaster/

Hierin word beschreven hoe je een complete mailserver inclusief webmail/mailinglists etc op kan zetten.

Qmail word als mailserver gebruikt in deze howto, deze is erg stabiel en veilig in tegestelling tot Sendmail ( Ligt er natuurlijk altijd aan hoe je hem configged, maar toch ;) )

Dit werkt alleen onder linux/bsd, voor windows zou ik het niet weten.

Als je alleen wilt weten hoe e-mail werkt is dit wel aardig: http://www.howstuffworks.com/email.htm

Suc6.

[ Voor 11% gewijzigd door Anoniem: 60742 op 04-02-2003 18:26 ]


Acties:
  • 0 Henk 'm!

  • Bobco
  • Registratie: Januari 2001
  • Laatst online: 30-10-2023

Bobco

I used to dream about Verona.

En nog een linkje naar een mailserver: James, een open source SMTP, NNTP en POP3 server, geschreven in Java. Erg gemakkelijk om op te zetten en te draaien en bovendien erg flexibel als het gaat om uitbreidingen.

With the light in our eyes, it's hard to see.


Acties:
  • 0 Henk 'm!

  • $tranger
  • Registratie: Januari 2000
  • Laatst online: 17:29
Bedankt voor de mensen die "821" hebben lopen roepen, maar deze RFC gaat dus puur in op server responses, dus puur de client <--> server handling. En zoals in mijn post staat is dit niet waar het om gaat, maar toch bedankt.

Acties:
  • 0 Henk 'm!

  • Feyd-Rautha
  • Registratie: November 2001
  • Laatst online: 09-02-2023
Volgende rfc's zijn van belang:

rfc 821 & rfc 822: Alles ivm met het SMTP-protocol
rfc 2045-2049: MIME


Ik heb hier ook fragmenten uit boeken liggen waarin alle commando's enzo staan voor communicatie tussen server en client, welke antwoorden erop gegevens worden enzo ....

Maar ik heb geen scanner oid en het is ook een beetje veel om zomaar over te typen :)

I must not fear. Fear is the mind-killer. Fear is the little-death that brings total obliteration. I will face my fear. I will permit it to pass over me and through me. Where the fear has gone there will be nothing. Only I will remain.


Acties:
  • 0 Henk 'm!

  • $tranger
  • Registratie: Januari 2000
  • Laatst online: 17:29
Het is lastig uit te leggen, maar waar het mij alleen om gaat is de server <--> server communicatie, ik had er maar een klein schema van in m'n hoofd, nu begrijp ik het ongeveer wel. Elk mailtje word bekeken op domein waar het heen moet, daar word de SMTP van afgeleid en daar word weer naar geconnect. Ik snap alleen nog niet hoe een niet relay-ing server dat dan doet. Maar ik weet nu wel waar ik op moet zoeken, thx

Acties:
  • 0 Henk 'm!

  • Janoz
  • Registratie: Oktober 2000
  • Laatst online: 05-06 22:44

Janoz

Moderator Devschuur®

!litemod

Heb je trouwens al ff die 812 doorgekeken? Volgens mij staat daar nog een heleboel in over server <-> server communicatie.

Ken Thompson's famous line from V6 UNIX is equaly applicable to this post:
'You are not expected to understand this'


Acties:
  • 0 Henk 'm!

  • _Thanatos_
  • Registratie: Januari 2001
  • Laatst online: 18-03 09:33

_Thanatos_

Ja, en kaal

Je moet ook e.e.a. doen met DNS, omdat je van het domein waar je iets naartoe stuurt, de MX-records moet weten. Hoe het precies zit, weet ik niet, maar is ook vast wel via Google te vinden.

日本!🎌


Acties:
  • 0 Henk 'm!

Anoniem: 32767

Hier staat een werkende SMTP/POP server met sourcecode.... succes ermee

http://www.gotdotnet.com/...8d-43b9-89ea-a29ab941ed50

Acties:
  • 0 Henk 'm!

  • curry684
  • Registratie: Juni 2000
  • Laatst online: 27-05 16:00

curry684

left part of the evil twins

Ik heb dit al eens geschreven, dus korte samenvatting (RFC 974):

Stel je wil een mailtje sturen naar piet@chello.nl Je neemt contact op met de DNS-server die je kent en stuurt hem een MX-request voor chello.nl In het antwoord zoek je de correcte server (IP wordt meegeleverd) en je doet daarheen SMTP'en.

Open als test een command prompt en type 'nslookup', daarna 'set type=mx' en daarna 'hotmail.com'. Je krijgt dan deze output:
Non-authoritative answer:
hotmail.com MX preference = 5, mail exchanger = mx1.hotmail.com
hotmail.com MX preference = 5, mail exchanger = mx2.hotmail.com
hotmail.com MX preference = 5, mail exchanger = mx3.hotmail.com
hotmail.com MX preference = 5, mail exchanger = mx4.hotmail.com

hotmail.com nameserver = ns1.hotmail.com
hotmail.com nameserver = ns2.hotmail.com
hotmail.com nameserver = ns3.hotmail.com
hotmail.com nameserver = ns4.hotmail.com
mx1.hotmail.com internet address = 65.54.254.129
mx1.hotmail.com internet address = 65.54.252.99
mx1.hotmail.com internet address = 65.54.166.99
mx2.hotmail.com internet address = 65.54.166.230
mx2.hotmail.com internet address = 65.54.254.145
mx2.hotmail.com internet address = 65.54.252.230
mx3.hotmail.com internet address = 65.54.253.99
mx3.hotmail.com internet address = 65.54.254.140
mx4.hotmail.com internet address = 65.54.254.151
mx4.hotmail.com internet address = 65.54.253.230
ns1.hotmail.com internet address = 216.200.206.140
ns2.hotmail.com internet address = 216.200.206.139
ns3.hotmail.com internet address = 209.185.130.68
ns4.hotmail.com internet address = 64.4.29.24
De eerste 4 regels zijn de MX-servers (Mail eXchanger). Zoals je ziet hebben ze allemaal dezelfde prioriteit en mag je ze dus in iedere willekeurige volgorde aanspreken. Van alle 4 wordt het A-record oftewel de host-record meegeleverd, dus je kunt meteen door translaten naar een IP-adres (scheelt je een lookup). In dit geval krijg je zelfs 3 IP's om uit te kiezen per MX (in totaal 12 mogelijkheden dus, drukke server ;) ).

Nu weet je alles behalve hoe je een DNS-request moet bouwen, daarvoor lees je RFC 1035 even na ;)

Oh en onder Win2k en WinXP kun je met de GetNetworkParams API-call de default DNS achterhalen.

* curry684 wilde even een +4 behulpzaam scoren :Y)

Professionele website nodig?


Acties:
  • 0 Henk 'm!

  • $tranger
  • Registratie: Januari 2000
  • Laatst online: 17:29
curry684 schreef op 05 februari 2003 @ 16:22:
Ik heb dit al eens geschreven, dus korte samenvatting
[...]
* curry684 wilde even een +4 behulpzaam scoren :Y)
Beste Meneer Curry, ik denk dat dit echt is wat ik wilde!! Hoe kan ik je ooit bedanken, ik begrijp er al een stuk meer van. Ik hou jullie op de hoogte van de vooruitgang.

PS: op welke port draait een MX server? Of zeg ik nu iets heel doms??

[ Voor 10% gewijzigd door $tranger op 06-02-2003 11:46 . Reden: Iets vergeten ]


Acties:
  • 0 Henk 'm!

  • Reptile209
  • Registratie: Juni 2001
  • Nu online

Reptile209

- gers -

$tranger schreef op 05 February 2003 @ 10:23:
Ik snap alleen nog niet hoe een niet relay-ing server dat dan doet. Maar ik weet nu wel waar ik op moet zoeken, thx
Bedoel je: hoe stuurt een niet-relaying server mail door? Simpel (volgens mij...):

Vier mogelijke situaties: gaan er vanuit dat I(k) mail stuurt naar J(ou) via een SMTP-server (A en evt B ). A en B doen niet aan relaying.

1) J zit op hetzelfde domein als I. Geen probleem, wordt direct afgeleverd.

2) J zit op een ander domein dan I. De mailserver van I (A) neemt contact op met die van J (B ). B doet niet aan relaying, maar omdat het To:-veld een adres van B's domein bevat, wordt het geaccepteerd.

3) I logt in vanaf een ander netwerk dan dat van zijn eigen server (A) voor een mailtje dat ook op A aan J bezorgd kan worden. Geen punt, zie vorige systeem.

4) I logt in vanaf een ander netwerk dan dat van zijn eigen server (A) voor een mailtje naar J op server B. Sorry, but we do not relay for you. Kan te omzeilen zijn door SMTP-authenticatie, maar makkelijker is om de SMTP van het netwerk waar je op zit te gebruiken.

Zoiets? :Y)

edit:
Grrr... B) != B<geen spatie>) :Z


[aanvulling]
PS: op welke port draait een MX server? Of zeg ik nu iets heel doms??
25 = SMTP, 110 is POP3. Let op: voor SSL-beveiliging worden andere poorten gebruikt geloof ik, maar da's mooi voor versie 0.2 :)

[ Voor 13% gewijzigd door Reptile209 op 06-02-2003 12:00 ]

Zo scherp als een voetbal!


Acties:
  • 0 Henk 'm!

  • curry684
  • Registratie: Juni 2000
  • Laatst online: 27-05 16:00

curry684

left part of the evil twins

$tranger schreef op 06 februari 2003 @ 11:39:
[...]

Beste Meneer Curry, ik denk dat dit echt is wat ik wilde!! Hoe kan ik je ooit bedanken, ik begrijp er al een stuk meer van. Ik hou jullie op de hoogte van de vooruitgang.
Kijk, zo weten we weer waarvoor we het doen :Y) Cheerios, laat maar weten als je ergens vastloopt!
PS: op welke port draait een MX server? Of zeg ik nu iets heel doms??
De MX-server zelf is een doodnormale SMTP met alternatieve relay-settings en draait dus op TCP-25 zoals Reptile aangeeft. De DNS servers draaien op UDP-53.

Professionele website nodig?


Acties:
  • 0 Henk 'm!

  • $tranger
  • Registratie: Januari 2000
  • Laatst online: 17:29
Okay, na wat testen en logisch nadenken kwam ik erachter (vlak voordat ik jouw bericht las, toch thx very much!) dat een MX server inderdaad ook op port 25 draait en inderdaad reageert als een SMTP server. That problem is solved.

As guessable ben ik bezig in VB(6), nu heb ik een winsock control aangemaakt, ingesteld op UDP, en de port ingesteld op 53, en als host ns1.versatel.net ingesteld. Nu doe ik:
code:
1
2
3
4
5
6
7
8
9
dns.connect
dns.SendData "set type=mx"


Sub dns_DataArrival:

Dim Buffer As String
dns.GetData Buffer, vbString
MsgBox Buffer


en dat returnt: seð¤

Hoe kom ik hier verder mee, kan ik dit decoden, moet ik eerst sort of handshaken, ben ik lui en moet ik gewoon goed op Google zoeken?? B)

Ik hoop echt sterk dat Mr. Curry hier weer langs komt ;)

Acties:
  • 0 Henk 'm!

  • curry684
  • Registratie: Juni 2000
  • Laatst online: 27-05 16:00

curry684

left part of the evil twins

$tranger schreef op 06 februari 2003 @ 17:23:
code:
1
2
dns.connect
dns.SendData "set type=mx"

Hoe kom ik hier verder mee, kan ik dit decoden, moet ik eerst sort of handshaken, ben ik lui en moet ik gewoon goed op Google zoeken?? B)
Nee, je had even mijn post helemaal moeten lezen, ik citeer mezelf:
Nu weet je alles behalve hoe je een DNS-request moet bouwen, daarvoor lees je RFC 1035 even na ;)
De string die jij stuurt is leuk binnen de 'nslookup' tool, maar die vertaalt 'm intern ook naar de mumbo-jumbo bitfields die een DNS-server wil zien. Hoe je die moet bouwen zul je echt in die RFC op moeten zoeken.

An sich heb ik hier wel code liggen die het doet, maar dat is C++ van het minst kinderachtige soort, ik denk niet dat je daar iets aan hebt voor een VB implementatie :D
Ik hoop echt sterk dat Mr. Curry hier weer langs komt ;)
Ach, ik lees GoT altijd via een shortcut naar al m'n eigen posts, dus ik zie het automatisch als er gereageerd wordt in een topic waar ik al iets gezegd heb. De kans is dus groot dat ik hier nog wel eens langskom ;)

Professionele website nodig?


Acties:
  • 0 Henk 'm!

  • curry684
  • Registratie: Juni 2000
  • Laatst online: 27-05 16:00

curry684

left part of the evil twins

Zie net dat de link die ik gaf wat onduidelijk kan zijn, klik hier voor een directe link naar het DNS Message Format.

Professionele website nodig?


Acties:
  • 0 Henk 'm!

  • $tranger
  • Registratie: Januari 2000
  • Laatst online: 17:29
Nou niet dat ik hier continu mee bezig ben geweest, maar ik heb het eindelijk werkend. Zit wel vaag in elkaar zeg, dat DNS, 16 bit gezeik, etc.

Mochten mensen vragen hebben mail me dan, maar ik moet zeggen dat als je de RFC goed leest, dat je een heel eind komt. Alleen RDATA moet je mee stoeien.

Acties:
  • 0 Henk 'm!

  • TeeDee
  • Registratie: Februari 2001
  • Laatst online: 21:44

TeeDee

CQB 241

misschien compleet offtopic, maar had je hier ook al gekeken (weliswaar .NET maar goed :))

http://www.c-sharpcorner....ov/SMTPPOP3MailServer.asp

Heart..pumps blood.Has nothing to do with emotion! Bored

Pagina: 1