Это будет работать, только если браузер клиента знает, какой почтовый клиент должен открываться для ссылок mailto:
. Если пользователь использует веб-клиент, который не зарегистрирован в браузере, ничего не произойдет.
Кроме того, настройки безопасности могут препятствовать программному открытию ссылок mailto:
или в будущем.
Я бы не стал полагаться, что это будет работать в любом случае, только как приятная дополнительная удобная функция.
В любом случае, чтобы ответить на ваш вопрос, вы можете попробовать установить таймаут между двумя вызовами? Может быть, обновление местоположения слишком быстрое, чтобы браузер его догнал.
location.href="mailto:test@test.com&body=Hello!";
setTimeout(function(){ location.href = 'newPage.html' }, 500);