There are regular buses services between Lisbon Sete Rios Bus Station and Sao Martinho do Porto operated by Rede Expressos as follows:(http://www.rede-expressos.pt/)
Rede Expressos - Current Timetable
LISBOA Sete Rios - São MARTINHO PORTO
Depart Arrive Frequency
09:00 10:30 Daily
10:00 11:30 Daily except Sundays and holidays
12:00 13:30 Daily
14:00 15:30 Sundays and Holidays
17:00 18:30 Daily
17:00 19:05 Sundays & Mondays if holiday
19:00 20:30 Daily except Saturdays and Sundays
20:00 21:30 Saturdays, Sundays and Holidays
I do not recommend the train as it takes longer and requires changes.
Take the Carris Aeroshuttle bus from the Airport to Jardim Zoologico/Sete Rios. Cross the Road and walk 100 metres to the Lisbon Sete Rios Bus Station.