This is a partial answer,
$f(1)=f(1)^2$, so $f(1)=1$, since $f:\Bbb Z^+\rightarrow\Bbb Z^+$.
Since $m+n\mid f(m)+f(n)$ let $m=n$, then $m\mid f(m)$. We can factor $m=\prod_{i\in\Bbb N}p_i^{a_i}$ so that $$f(m)=\prod_{i\in\Bbb N}f(p_i)^{a_i}$$ is determined by where $f$ maps the prime numbers. We have $f(p_i)=p_ic_i$, where $c_i$ is some constant. Since $p_i+1\mid f(p_i)+1$ we must have $$\frac{p_ic_i+1}{p_i+1}\in\Bbb Z$$ which happens if and only if $c_i=1+k_i(p_i+1)$ for some constant $k_i$.
$f(m)=m^ka$ works if $a=1$, since $f(1)=1$, but fails for every even $k$ in general, since $$2m+m\not\mid 2^km^k+m^k$$ if $3\not\mid m$.