The swap was announced Wednesday, five days after Smoker was designated for assignment to clear a roster spot after the Mets re-signed free agent infielder Jose Reyes.
Smoker was 3-0 with a 4.70 ERA for the Mets as a rookie in 2016, then went 1-2 with a 5.11 ERA and 68 strikeouts in 56 1/3 innings over 54 relief appearances last year. He was sidelined from June 14 to July 10 with a strained left shoulder and had a 2.63 ERA in 32 games following his return.
Smoker, who turned 29 in November, enters games to Deep Purple's "Smoke on the Water."
The 24-year-old Zamora, who attended Stony Brook on Long Island, was 2-4 with nine saves and a 1.76 ERA last year from Class A Bradenton and Double-A Altoona, striking out 63 in 56 1/3 innings. He was a Florida State League All-Star.