Kolkata is serviced by Netaji Subhash Chandra Bose International airport (CCU) which has direct flights from most major cities in India and several international destinations.
Almost all major airlines provide flights to this airport either directly or via code share. Please note that in India a passenger has to undergo through immigration at the first airport in India they land. So, if you fly via Mumbai you will need to clear immigration at Mumbai airport and then transfer to the domestic terminal to take the flight to Kolkata.
Emirates, Qatar, Singapore Airlines, Thai Airlines, Etihad Airways, Air Arabia, Baltik Air Malaysia have daily flights to Kolkata. If you fly by these, you will clear customs at Kolkata.
Kolkata is serviced by several train stations. These include Howrah (HWH), Sealdah (SDAH), Santragachi (SRC), Kolkata (KOAA) and Shalimar (SHM). You can use any of these to reach Kolkata by train.