Обоснование: Указание времени 'for weeks' (недели напролет) подчеркивает длительность процесса написания писем. Действие продолжалось в течение длительного периода. Поэтому используется Present Perfect Continuous: 'have been writing'.
Ответ: have been writing