A mix of both.
I sell one sponsor slot per edition. The current rate is $250 and I send 8 newsletters per month. This slot is sold out months in advance and the price should probably be bumped up.
I have Amazon affiliate links where it makes sense on the blog posts themselves but this only generates a couple hundred on the best months. I should also invest more time into this going forward.