функция SmtpSend в class.phpmailer.php
Пробовал я её ковырять, нифига толком не понял, потыкался и бросил. Это кто-то осознанно должен ковырять, а не как я, смотрю в код и пытаюсь сообразить, как оно тут всё работает

а если подключить "почту для домена от яндекс" то достаточно ведь просто сменить "МХ" записи у регистратора доменного имени
Недостаточно, нужно ещё что-бы сам скрипт к smtp-серверу подключался, а он что-то не подключается. В вобле настроил без проблем, всё работает, значит проблема именно в Joostina.
У меня работает через функцию php
Работать то оно работает, только через функцию php письма уходят с сервера на котором твой сайт расположен, а не с сервера Яндекса, ещё хуже получается, т.к. в МХ указан IP Яндекса, а письмо приходит с IP твоего хостера, больше вероятность, что за спам примут.