I am sending an email with an activation link in it
That implies that you sending the message as HTML (it would have been helpful if you'd provided a minimal example).
And if you're sending HTML, then you MUST be sending it as a MIME attachment (even if the content disposition is inline).
And that implies that you MUST be specifying and applying an encoding method.
While there are a lot of MUAs which don't stick to the rules and will try to render the body of an email as HTML even when it breaks the rules you should write your code so it works as corectly as possible.
There is a limit on the length of a line sent via SMTP. Most likely you are using a representation for your data which does not map correctly to 7-bit ascii with this line length.
If you try using a quoted-printable or base64 encoding, the url should not be modified. In general it's much nicer to use the former.
A good mail library should handle all this for you.