The oldest trace of @ being used to mean "at" can be traced to typeriters for commerce around 1880, where it was used as "5 apples @ 10 p" meaning "5 apples at 10 pence each."
At least that's what German Wikipedia Claims while the corresponding paragraph in english Wikipedia is short.
It's also the "a commercial" in Quebec French [1]. Despite lacking the accent on the A (à), the intention of the A is to stand in for the single letter French word "à" (at) [2].
More recently (but still 1968, before email): "In ALGOL 68, the @ symbol is brief form of the at keyword; it is used to change the lower bound of an array. For example: arrayx[@88] refers to an array starting at index 88."
There are claims it comes from the latin "ad" similar to how & comes from the latin "et" but the etymology is far less certain, with the french à being another possible source.
What I can't find is when it was first used in the US for indicating home-team for sports. E.g. [1] where there is vs. or @ depending on whether it is a home or away game. I suspect it's relatively modern, but not sure how far back it goes.
At least that's what German Wikipedia Claims while the corresponding paragraph in english Wikipedia is short.
https://de.wikipedia.org/wiki/At-Zeichen
https://en.wikipedia.org/wiki/At_sign