I think - creating a Transaction class makes sense which would have all the variables (like cost per recipient etc.) as static and it will also have static methods which will have email object as input and cost as output. Email class can have a variable to store the total cost. email object will invoke the static method of Transaction just before sending the email.
I am thinking Transaction class as a utility here. In future, Transaction class might a subclass of an interface to use a strategy
pattern.
Please correct if this design is not correct.