So just go to the web-site of the State Railway of Thailand (SRT) and book your ticket online! No, no, no .... they do not offer online ticket booking. You can book by telephone (call 1690 within Thailand) but you will have to pickup your ticket at a major train-station within 24 hours after making the telephone call. Well then you could as well just go to the train-station directly, right? That is what I always did as I was living near a major train-station in Thailand. But well, suppose you are not in Thailand and want to be sure that you will have a train-ticket. What to do?
Well of course there are a few travel agencies that did find a solution for that. You contact them online, book you ticket, pay your ticket and they will go to the train-station to buy the ticket. Now the SRT will print a ticket, only once & only. And you will need to have that ticket when traveling. So you will have to pickup that ticket at the travel-agency or have it brought to your hotel in Thailand. Or have it send to your (worldwide). As for sending by mail, remember there is only 1 ticket. It cannot be re-printed. Once lost is really lost. So there are basically 2 travel-agencies where you can book your train-ticket online.
First one is One To Go Asia
Je boekt bij hun, zij kopen de tickets, je kunt het afhalen in Bangkok of bij een hotel in Chiang Mai. Deze service kost ongeveer 220 THB per tickets + eventueel 70 THB voor het afhalen in Chiang Mai.
Zij bezorgen je ticket in je hotel in Bangkok (gratis). Maar ook hier kost de ticket service ongeveer 220 THB per ticket.