Access SMTP Server - como posso autenticar o correio que estou a enviar com o servidor smtp?

Se utilizar a API JavaMail fornecida pela Sun, pode obter a API mais recente em Sun Downloads.
O JavaMail utiliza propriedades para carregar toda a configuração do programa.
É necessário especificar:
# O nome do anfitrião ou o endereço IP do seu servidor SMTP
mail.smtp.host=smtp.duke.java.sun.com

# Obtém-se muita informação de depuração se
# esta opção está activada. Comente esta linha para ativar
# desligado.
mail.debug=verdadeiro

# O endereço de correio eletrónico para
ttapr2004.to=duke@duke.java.sun.com

# O endereço de correio eletrónico De
ttapr2004.from=duke@j2ee_fanclub.java.su…

Pode ligar-se facilmente sem autenticação ao servidor SMTP. Mas pode acontecer que não consiga enviar correio eletrónico a partir do seu programa java:
1. O seu ip pode estar bloqueado pela firewall para Aceder ao servidor SMTP
2. O seu servidor SMTP bloqueia o endereço do remetente, o endereço de destino e talvez o seu ip.
3. O seu servidor SMTP requer autenticação

Se o seu servidor necessitar de autenticação, isto pode ser obtido na Internet
-------------...
public class SendMailUsingAuthentication {

private static final String SMTP_HOST_NAME = "myserver.smtphost.com";
private static final String SMTP_AUTH_USER = "myusername";
private static final String SMTP_AUTH_PWD = "mypwd";

private static final String emailMsgTxt =
"Mensagem de confirmação da encomenda online. Incluir também o número de rastreio";
private static final String emailSubjectTxt = "Assunto da confirmação da encomenda";
private static final String emailFromAddress = "sudhir@javacommerce.com";

// Adicionar lista de endereços de correio eletrónico para quem o correio eletrónico deve ser enviado
private static final String[] emailList = {
"mark@yahoo.com", "robin@javacommerce.com"};

public static void main(String args[]) throws Exception {
SendMailUsingAuthentication smtpMailSender = new
SendMailUsingAuthentication();
smtpMailSender.postMail(emailList, emailSubjectTxt, emailMsgTxt,
emailFromAddress);
System.out.println("Correio enviado com êxito para todos os utilizadores");
}

public void postMail(String recipients[], String subject,
String message, String from) throws MessagingException {
booleano debug = false;

/Definir o endereço smtp do anfitrião
Propriedades props = new Propriedades();
props.put("mail.smtp.host", SMTP_HOST_NAME);
props.put("mail.smtp.auth", "true");

Authenticator auth = new SMTPAuthenticator();
Session session = Session.getDefaultInstance(props, auth);

session.setDebug(debug);

// criar uma mensagem
Message msg = new MimeMessage(session);

// definir o endereço de e para
InternetAddress addressFrom = new InternetAddress(from);
msg.setFrom(addressFrom);

InternetAddress[] addressTo = new InternetAddress[recipients.length];
for (int i = 0; i < recipientes.comprimento; i++) {
addressTo[i] = new InternetAddress(recipients[i]);
}
msg.setRecipients(Message.RecipientType.... addressTo);

// Definir o assunto e o tipo de conteúdo
msg.setSubject(subject);
msg.setContent(message, "text/plain");
Transport.send(msg);
}

/**
* O SimpleAuthenticator é utilizado para efetuar uma autenticação simples
* quando o servidor SMTP o exigir.
*/
classe privada SMTPAuthenticator
extends javax.mail.Authenticator {

public PasswordAuthentication getPasswordAuthentication() {
String username = SMTP_AUTH_USER;
String password = SMTP_AUTH_PWD;
return new PasswordAuthentication(nome de utilizador, palavra-passe);
}
}
}
-------------...

Isenção de responsabilidade - As opiniões expressas neste artigo são fornecidas por terceiros e podem não corresponder às do nosso sítio Web

Deixe um comentário

O seu endereço de email não será publicado. Campos obrigatórios marcados com *

Toda a gente sabe que ter um servidor SMTP fiável é a chave para que o seu correio eletrónico seja entregue corretamente. Também é bem sabido que já NINGUÉM oferece SMTP sem autenticação ou para retransmissão aberta. MAS AINDA PODE OBTER GRATUITAMENTE UM SERVIDOR SMTP DE ALTA QUALIDADE PARA SUA UTILIZAÇÃO!

Clique aqui para obter o seu SERVIDOR SMTP GRATUITO