Here you go, from a native speaker
:"Dragă * insert name here *,
Te-am admirat mereu de peste mări și țări și, din păcate, chiar nu pot fi alături de tine cu această ocazie... Inima mea te simte mereu aproape.
Sper ca și tu să simți la fel,
Un admirator secret.".
Few changes: "to" is translated to Romanian with "către", but this is way too formal. A Romanian would always say "Dragă" - "Dear", even if he/she intends to write an anonymous message or not.
"from afar" is translated by "de departe". Again, literal translation might tend to suggest a stalker way of perceiving / a formal context, so it is highly not recommended. So, I suggest you a very common idiomatic expression with the same meaning "de peste mări și țări" which means "from many sees and countries afar" (literal translation, I know that sounds weird in English) that simply means "from a distance".
"you will always be with me in my heart." is translated literally "Vei fi mereu în inima mea". This is used in Romanian to express feelings over a dead person - NOT recommended. "Inima mea te simte mereu aproape'' is better, which means ''My heart is always close to yours'' and the meaning is similar.