Hola, la excepción que muestras:
javax.mail.SendFailedException: 550 5.7.1 Unable to relay for
[email protected]
Es generalmente producida cuando el servidor SMTP no esta configurado para hacer relay (reenvio) de correos a dominios que no son locales. Para esto se requiero que el servidor SMTP este configurado con un servidor DNS válido para poder reenviar los correos a los dominios externos.
Sobre la otra pregunta, pues si tu servidor SMTP tiene restricciones, como bloqueos para evitar spam, entre ellos la validacion con usuario y password para enviar correo, pues es probable que no puedas enviar email desde javamail por ese servidor SMTP. Ahora que, no se, si desde javamail se puede configurar para que se conecte con un usuario y password y asi poder enviar...