1
SMTPAuth seems not to work with some servers. Using a sniffer, I've managed to find the reason: it sends "HELO" (instead of "EHLO") before "AUTH".
Some servers (as smtp.terra.es, popular in Spain) refuse esmtp commands as "AUTH" after "HELO", since "HELO" marks the beginning of a (basic) smtp session. They expect "EHLO", instead.
You can solve this bug this way:
edit /html/class/mail/phpmailer/class.smtp.php
change this line
fputs($this->smtp_conn,"HELO " . $host . $this->CRLF);
into
fputs($this->smtp_conn,"EHLO " . $host . $this->CRLF);