Access SMTP Server - jak mogę uwierzytelnić pocztę wysyłaną przez serwer smtp?

Jeśli korzystasz z api JavaMail dostarczonego przez Sun, możesz pobrać najnowsze api z Sun Downloads.
JavaMail używa właściwości do załadowania całej konfiguracji do programu.
Należy określić:
# Nazwa hosta lub adres IP serwera SMTP.
mail.smtp.host=smtp.duke.java.sun.com

# Otrzymasz wiele informacji debugowania, jeśli
# jest włączona. Skomentuj ten wiersz, aby włączyć
# wyłączony.
mail.debug=true

# Adres e-mail do
ttapr2004.to=duke@duke.java.sun.com

# Adres e-mail od
ttapr2004.from=duke@j2ee_fanclub.java.su…

Możesz łatwo połączyć się bez uwierzytelniania z serwerem SMTP. Może się jednak zdarzyć, że nie będzie można wysyłać wiadomości e-mail z programu Java:
1. Twój adres IP może być blokowany przez zaporę sieciową. Dostęp do serwera SMTP
2. Twój serwer SMTP blokuje adres nadawcy, adres docelowy i być może Twój adres IP.
3. Serwer SMTP wymaga uwierzytelnienia

Jeśli serwer wymaga uwierzytelnienia, można je uzyskać z Internetu
————————————–…
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 =
"Wiadomość potwierdzająca zamówienie online. Dołącz również numer śledzenia.";
private static final String emailSubjectTxt = "Temat potwierdzenia zamówienia";
private static final String emailFromAddress = "sudhir@javacommerce.com";

// Dodaj listę adresów e-mail, na które ma zostać wysłana wiadomość e-mail
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("Pomyślnie wysłano pocztę do wszystkich użytkowników");
}

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

//Ustawienie adresu smtp hosta
Properties props = new Properties();
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);

// utworzyć wiadomość
Message msg = new MimeMessage(session);

// ustaw adres od i do
InternetAddress addressFrom = new InternetAddress(from);
msg.setFrom(addressFrom);

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

// Ustawienie tematu i typu zawartości
msg.setSubject(subject);
msg.setContent(message, "text/plain");
Transport.send(msg);
}

/**
* SimpleAuthenticator służy do prostego uwierzytelniania
* gdy wymaga tego serwer SMTP.
*/
Klasa prywatna SMTPAuthenticator
extends javax.mail.Authenticator {

public PasswordAuthentication getPasswordAuthentication() {
String username = SMTP_AUTH_USER;
String password = SMTP_AUTH_PWD;
return new PasswordAuthentication(username, password);
}
}
}
————————————–…

Zastrzeżenie - poglądy wyrażone w tym artykule są dostarczane przez stronę trzecią i mogą nie odpowiadać poglądom naszej witryny.

Dodaj komentarz

Twój adres e-mail nie zostanie opublikowany. Wymagane pola są oznaczone *

Wszyscy wiedzą, że posiadanie niezawodnego serwera SMTP jest kluczem do prawidłowego dostarczania wiadomości e-mail. Powszechnie wiadomo również, że NIKT nie oferuje już SMTP bez uwierzytelniania lub otwartego przekaźnika. ALE NADAL MOŻNA UZYSKAĆ WYSOKIEJ JAKOŚCI SERWER SMTP ZA DARMO DO UŻYTKU!

Kliknij tutaj, aby otrzymać DARMOWY SERWER SMTP