Boa tarde, pessoal estou a alguns dias tentando enviar email atravéz de uma App WEB, porém não funcionava…
então decidi testar em casa e FUNCIONOU, ou seja, preciso setar o proxy e a porta, pois acho que é isso que esta
me empedindo de enviar o email.
Como que faço para inserir o proxy e porta nessa classe abaixo?;
[code]public class GmailMailer {
// Host do Gmail
private String SMTP_HOST_NAME;
// Login do usuário
private String SMTP_AUTH_USER;
// Senha do usuário
private String SMTP_AUTH_PWD;
// E-mail do remetente
private String emailFromAddress;
// Título do e-mail
private String emailSubjectTxt;
// Conteúdo do e-mail
private String emailMsgTxt;
// E-mails dos destinatários
private String[] emailList;
public GmailMailer() {
SMTP_HOST_NAME = "smtp.gmail.com";
SMTP_AUTH_USER = "xxxx@gmail.com";
SMTP_AUTH_PWD = "xxxxx";
}
public void enviarEmails() {
try {
String[] listaEmails = {"yyyyyy@gmail.com"};
sendEmail("xxxx@gmail.com", listaEmails, "Teste de envio de email", "Isso é um teste");
} catch (Exception ex) {
Logger.getLogger(GmailMailer.class.getName()).log(Level.SEVERE, null, ex);
}
}
public void sendEmail(String fromAddress, String[] toAddress, String subjectTxt, String messageTxt) throws Exception {
emailFromAddress = fromAddress;
emailList = toAddress;
emailSubjectTxt = subjectTxt;
emailMsgTxt = messageTxt;
boolean debug = false;
java.security.Security.addProvider(new com.sun.net.ssl.internal.ssl.Provider());
// Configurando o endereço SMTP do host
Properties props = new Properties();
props.put("mail.transport.protocol", "smtp");
props.put("mail.smtp.starttls.enable", "true");
props.put("mail.smtp.host", SMTP_HOST_NAME);
props.put("mail.smtp.auth", "true");
// Caso o e-mail precise de autenticação
Authenticator auth = new SMTPAuthenticator();
Session session = Session.getDefaultInstance(props, auth);
session.setDebug(debug);
// Criando a mensagem
Message msg = new MimeMessage(session);
// Adicionando o e-mail do remetente
InternetAddress addressFrom = new InternetAddress(emailFromAddress);
msg.setFrom(addressFrom);
// Adicionando os e-mails dos destinatários
InternetAddress[] addressTo = new InternetAddress[emailList.length];
for (int i = 0; i < emailList.length; i++) {
addressTo[i] = new InternetAddress(emailList[i]);
}
msg.setRecipients(Message.RecipientType.TO, addressTo);
// Adicionando o título do e-mail
msg.setSubject(emailSubjectTxt);
// Adicionando o conteúdo do e-mail
msg.setContent(emailMsgTxt, "text/plain");
Transport.send(msg);
}
/**
* Autentica o usuário quando o servidor SMTP requisita
*/
private class SMTPAuthenticator extends javax.mail.Authenticator {
public PasswordAuthentication getPasswordAuthentication() {
String username = SMTP_AUTH_USER;
String password = SMTP_AUTH_PWD;
return new PasswordAuthentication(username, password);
}
}
}
[/code]
Obrigado.