Email em Java

Boa tarde, preciso que minha aplicacao java envie emails, para isso estou usando a API commons-java, ja adicionei o .jar no lib do meu projeto , ja fiz a importacao -> import org.apache.commons.mail.*;
porem quando faco:

1 SimpleEmail email = new SimpleEmail();
2 email.setHostName(“smtp.gmail.com”);

ele apresenta o seguinte erro na linha 2:

expected
illegal start of type
package mail does not exist.

Alguem teria alguma opiniao sobre como resolver ?

Desde já, Grato.

Acauã de Freitas

posta o seu código ai, assim fica mais fácil de ver o erro. :slight_smile:

Consegui resolver aquilo, agora to com outro problema, segue o codigo abaixo:

import org.apache.commons.mail.EmailException;
import org.apache.commons.mail.SimpleEmail;

public class Main {

public static void main(String[] args) throws EmailException {

    
SimpleEmail email = new SimpleEmail();
email.setHostName("smtp.gmail.com");
email.setAuthentication("acadruid","meupass");
email.addTo("acadruid@gmail.com");
email.setFrom("acadruid@gmail.com");
email.setSubject("Teste Souza");
email.setMsg("Testando a API commons-email");
email.send();

    
}

}

Erros:

Exception in thread “main” org.apache.commons.mail.EmailException: Sending the email to the following server failed : smtp.gmail.com:25
at org.apache.commons.mail.Email.sendMimeMessage(Email.java:1138)
at org.apache.commons.mail.Email.send(Email.java:1163)
at souzaweb.Main.main(Main.java:20)
Caused by: com.sun.mail.smtp.SMTPSendFailedException: 530 5.7.0 Must issue a STARTTLS command first m33sm3407736ele.12

    at com.sun.mail.smtp.SMTPTransport.issueSendCommand(SMTPTransport.java:1515)
    at com.sun.mail.smtp.SMTPTransport.mailFrom(SMTPTransport.java:1054)
    at com.sun.mail.smtp.SMTPTransport.sendMessage(SMTPTransport.java:634)
    at javax.mail.Transport.send0(Transport.java:189)
    at javax.mail.Transport.send(Transport.java:118)
    at org.apache.commons.mail.Email.sendMimeMessage(Email.java:1128)
    ... 2 more

Java Result: 1
BUILD SUCCESSFUL (total time: 4 seconds)

Consegui resolver o problema, esta funcionando normalmente, porem nao consigo enviar para yahoo, gmail, hotmail, etc, mesmo autenticando da erro de autenticacao, creio que seja devido a porta, pois ele tenta a conexao na porta 25, e como esses servidores possuem ssl, eles usam a porta 465, alguem sabe como eu mudo a porta do aplicativo, usando commons-email para 465 ?

Grato, Acaua de Freitas

O Guilherme Chapiewski postou sobre fluent interface no blog dele e usou como exemplo uma fluent de envio de e-mails criada pelo pessoal da Globo.com. Vale a pena conferir, porque fica muito simples enviar e-mails com ela.

abraço!