$body .= "Content-type: text/html; charset='utf-8'\n";
$body .= "Content-Transfer-Encoding: quoted-printablenn";
$body .= "Content-Disposition: attachment; filename==?utf-8?B?".base64_encode($filename)."?=\n\n";
$headers
убрать.public function Auth(string $login, string $password)
php считает что переменая login будет является объектом класса string, а вы передаете строку.