In this work, we study energy cooperation in a two-user Gaussian multiple access channel (MAC), where the transmitters and the receiver are powered by energy harvesters. In particular, the receiver consumes the harvested energy in decoding the received data and bidirectional energy cooperation is allowed between any two nodes in order to facilitate data transmission and decoding. Our objective is to maximize the number of decoded bits at the receiver, assuming offline knowledge of the channel state information (CSI) and the energy harvesting profiles. We first show that the original problem can be decomposed into an inner problem in which we optimize over the energy transfer variables and an outer problem that characterizes the optimal power allocation. For the inner problem, we derive analytical expressions for the energy transfer variables in terms of the fading coefficients and the energy transfer efficiencies between the nodes. On the other hand, the outer problem is solved using a generalized iterative directional water-filling algorithm. The numerical results show that transmitters and receiver energy cooperation can significantly enhance the system performance.