Here's a simple example flow that demonstrates storing and retrieving values from global storage variables. Press the first two inject nodes to simulate temperatures you'd display in a gauge. The change nodes store the values.
The third inject node reads the latest temperature values and the result is displayed in the debug log. This payload you could use as the data for the email to be sent.
[{"id":"da553073.8d165","type":"inject","z":"bf210454.b85538","name":"temp indoor","topic":"","payload":"22.0","payloadType":"num","repeat":"","crontab":"","once":false,"onceDelay":0.1,"x":130,"y":80,"wires":[["6009aa90.cfa2d4"]]},{"id":"52e5b8b0.6ef608","type":"inject","z":"bf210454.b85538","name":"temp outdoor","topic":"","payload":"5.0","payloadType":"num","repeat":"","crontab":"","once":false,"onceDelay":0.1,"x":130,"y":140,"wires":[["8927fc14.0a32a"]]},{"id":"8927fc14.0a32a","type":"change","z":"bf210454.b85538","name":"","rules":[{"t":"set","p":"temp.outdoor","pt":"global","to":"payload","tot":"msg"}],"action":"","property":"","from":"","to":"","reg":false,"x":390,"y":140,"wires":[[]]},{"id":"f24b5892.f6acd8","type":"debug","z":"bf210454.b85538","name":"","active":true,"tosidebar":true,"console":false,"tostatus":false,"complete":"false","x":350,"y":220,"wires":[]},{"id":"6009aa90.cfa2d4","type":"change","z":"bf210454.b85538","name":"","rules":[{"t":"set","p":"temp.indoor","pt":"global","to":"payload","tot":"msg"}],"action":"","property":"","from":"","to":"","reg":false,"x":380,"y":80,"wires":[[]]},{"id":"7d5eaa63.91ec54","type":"inject","z":"bf210454.b85538","name":"read temperatures","topic":"","payload":"temp","payloadType":"global","repeat":"","crontab":"","once":false,"onceDelay":0.1,"x":150,"y":220,"wires":[["f24b5892.f6acd8"]]}]