I use CP.pt regularly to book tickets on the Alfa between Lisbon and Tunes (for the Algarve). Booking in advance can get First Class for €17,50 each way. And they will SMS your ticket to your U.K. mobile number. No need for paper! Very simple to use. I’d recommend this for your day trip to Porto.
Just to double-check. I have bought a ticket to Porto and a thing that even looks like a ticket has appeared on my CP app. So no need to print it out, just make sure the phone is charged?